[INFO] cloning repository https://github.com/bgalvao/nodevo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bgalvao/nodevo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbgalvao%2Fnodevo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbgalvao%2Fnodevo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2fa9c3bb1f088fdf7b45fb5eb96f8f79e8f3b9b0 [INFO] building bgalvao/nodevo against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbgalvao%2Fnodevo" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/bgalvao/nodevo on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/bgalvao/nodevo [INFO] finished tweaking git repo https://github.com/bgalvao/nodevo [INFO] tweaked toml for git repo https://github.com/bgalvao/nodevo written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/bgalvao/nodevo 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded num_cpus v1.4.0 [INFO] [stderr] Downloaded deque v0.3.2 [INFO] [stderr] Downloaded rayon-core v1.0.0 [INFO] [stderr] Downloaded rayon v0.7.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e174d98b81bf1ca1d20ce8ef0cc9d30a199ddb57d919e93b183cd4b38c5a11b3 [INFO] running `Command { std: "docker" "start" "-a" "e174d98b81bf1ca1d20ce8ef0cc9d30a199ddb57d919e93b183cd4b38c5a11b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e174d98b81bf1ca1d20ce8ef0cc9d30a199ddb57d919e93b183cd4b38c5a11b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e174d98b81bf1ca1d20ce8ef0cc9d30a199ddb57d919e93b183cd4b38c5a11b3", kill_on_drop: false }` [INFO] [stdout] e174d98b81bf1ca1d20ce8ef0cc9d30a199ddb57d919e93b183cd4b38c5a11b3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ce2530f6a0d6016fadc5bdb20dd9517386312504302431b6f68023eea5166067 [INFO] running `Command { std: "docker" "start" "-a" "ce2530f6a0d6016fadc5bdb20dd9517386312504302431b6f68023eea5166067", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling libc v0.2.21 [INFO] [stderr] Compiling rayon-core v1.0.0 [INFO] [stderr] Compiling deque v0.3.2 [INFO] [stderr] Compiling lazy_static v0.2.8 [INFO] [stderr] Compiling num_cpus v1.4.0 [INFO] [stderr] Compiling rand v0.3.15 [INFO] [stderr] Compiling rayon v0.7.0 [INFO] [stderr] Compiling nodevo v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:138:48 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn fitness_proportionate_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:148:31 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:152:38 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn pareto_rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Selection` is more private than the item `GP::set_selection_method` [INFO] [stdout] --> src/core/gp.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn set_selection_method(mut self, sm: Selection) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `GP::set_selection_method` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Selection` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/core/gp.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | enum Selection { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Data` is never constructed [INFO] [stdout] --> src/core/data.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Data { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Data` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/data.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Data { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 17 | pub fn train(&self) -> &Vec> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn test(&self) -> &Vec> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn dims(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn train_targets(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn test_targets(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn new(dataset: &'static str) -> Data { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn new_df(filename: String) -> Vec> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn get_iterator(filepath: &str) -> Lines> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn fill_array(lines: Lines>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn transpose_array(array: Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rmse` is never used [INFO] [stdout] --> src/core/utils.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn rmse(x: &Vec, y: &Vec) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add` is never used [INFO] [stdout] --> src/core/utils.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn add(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `subtract` is never used [INFO] [stdout] --> src/core/utils.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn subtract(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply` is never used [INFO] [stdout] --> src/core/utils.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn multiply(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cosine` is never used [INFO] [stdout] --> src/core/utils.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn cosine(x: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `logistic_function` is never used [INFO] [stdout] --> src/core/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn logistic_function(x: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divide` is never used [INFO] [stdout] --> src/core/utils.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn divide(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Node` is never used [INFO] [stdout] --> src/core/node.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `arity`, `op`, `get_random_const`, `get_random_functional`, and `get_random_input` are never used [INFO] [stdout] --> src/core/node.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Node { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 20 | /// Returns how many arguments a node takes. [INFO] [stdout] 21 | pub fn arity(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn op(&self, args: Vec>) -> Vec { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_random_const() -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn get_random_functional() -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn get_random_input(dimensions: usize) -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Individual` is never constructed [INFO] [stdout] --> src/core/individual.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Individual { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Individual` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/individual.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Individual { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 37 | /// Returns a clone of core. [INFO] [stdout] 38 | pub fn clone_core(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn train(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn test(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn depth(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn train_semantics(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn test_semantics(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn semantics(&self) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn new() -> Individual { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn full(max_depth: usize, data_ref: &Data) -> Individual { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn inner_full(&mut self, current_depth: usize, max_depth: usize, data_dims: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn grow(max_depth: usize, data_ref: &Data) -> Individual { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn inner_grow(&mut self, current_depth: usize, max_depth: usize, data_dims: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn get(&mut self, idx: usize) -> Node { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn prepend_node(&mut self, node: Node) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn compute_depth(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn inner_compute_depth(&mut self, idx: &mut usize, current_depth: &usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | fn output(&mut self, mut idx: usize, df: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compute_semantics(&mut self, data: &Data) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn evaluate(&mut self, data: &Data) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn count_subtree_nodes(&self, starting_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn outer_left_copy(&self, excluding_node_at: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn outer_right_copy(&self, including_node_at: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn copy_subtree(&self, from_node: usize, subtree_nodes: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub fn plug_in_core(&mut self, nodes: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `crossover` is never used [INFO] [stdout] --> src/core/individual.rs:305:16 [INFO] [stdout] | [INFO] [stdout] 305 | pub fn crossover(p1: &Individual, p2: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutation` is never used [INFO] [stdout] --> src/core/individual.rs:331:16 [INFO] [stdout] | [INFO] [stdout] 331 | pub fn mutation(p1: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `crossover` is never used [INFO] [stdout] --> src/core/individual.rs:369:16 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn crossover(p1: &Individual, p2: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gs_crossover_semantics` is never used [INFO] [stdout] --> src/core/individual.rs:394:12 [INFO] [stdout] | [INFO] [stdout] 394 | fn gs_crossover_semantics(p1_semantics: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_xo_offspring_size` is never used [INFO] [stdout] --> src/core/individual.rs:405:12 [INFO] [stdout] | [INFO] [stdout] 405 | fn calc_xo_offspring_size(p1: &Individual, p2: &Individual, r1: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_xo_offspring_depth` is never used [INFO] [stdout] --> src/core/individual.rs:409:12 [INFO] [stdout] | [INFO] [stdout] 409 | fn calc_xo_offspring_depth(p1: &Individual, p2: &Individual, r1: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutation` is never used [INFO] [stdout] --> src/core/individual.rs:415:16 [INFO] [stdout] | [INFO] [stdout] 415 | pub fn mutation(p1: &Individual, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gs_mutation_semantics` is never used [INFO] [stdout] --> src/core/individual.rs:450:12 [INFO] [stdout] | [INFO] [stdout] 450 | fn gs_mutation_semantics(p1_sems: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_mut_offspring_size` is never used [INFO] [stdout] --> src/core/individual.rs:461:12 [INFO] [stdout] | [INFO] [stdout] 461 | fn calc_mut_offspring_size(p1: &Individual, r1: &Individual, r2: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_mut_offspring_depth` is never used [INFO] [stdout] --> src/core/individual.rs:465:12 [INFO] [stdout] | [INFO] [stdout] 465 | fn calc_mut_offspring_depth(p1: &Individual, r1: &Individual, r2: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Population` is never constructed [INFO] [stdout] --> src/core/population.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Population { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Population` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/population.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Population { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 13 | /// Returns size of the population. [INFO] [stdout] 14 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn new() -> Population { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn add_individual(&mut self, new_guy: Individual) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn add_individuals(&mut self, new_guys: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn core_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn core(&self) -> &Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn new_rhh(pop_size: usize, max_init_depth: usize, data: &Data) -> Population { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn sort_by_te(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_first(&self) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn clone_k_best(&self, k: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn keep_k_best(&mut self, k: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn tournament_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn fitness_proportionate_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn pareto_rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Selection` is never used [INFO] [stdout] --> src/core/gp.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | enum Selection { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Variation` is never used [INFO] [stdout] --> src/core/gp.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | enum Variation { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GP` is never constructed [INFO] [stdout] --> src/core/gp.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct GP { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/gp.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl GP { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn new_gp(dataset: Data) -> GP { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn new_gsgp(dataset: Data) -> GP { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn set_pop(mut self, pop: Population) -> GP { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn set_pop_size(mut self, size: usize) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn set_xo_rate(mut self, xo_rate: f32) -> GP { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn set_pool_size(mut self, ps: usize) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn set_selection_method(mut self, sm: Selection) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn pop(&self) -> &Population { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn pop_mut(&mut self) -> &mut Population { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn init_new_pop(&mut self) -> () { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | fn print_state(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn select(&self) -> &Individual { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | fn crossover(&self, p1: &Individual, p2: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | fn mutation(&self, p1: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn evolve(&mut self, gens: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn clean(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mgp` is never constructed [INFO] [stdout] --> src/core/multi_gp.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Mgp { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_subpop`, `init`, and `evolve_in_parallel` are never used [INFO] [stdout] --> src/core/multi_gp.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Mgp { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 11 | /// Returns a blank `Mgp` to be configured [INFO] [stdout] 12 | pub fn new() -> Mgp { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn add_subpop(mut self, s: GP) -> Mgp { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn init(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn evolve_in_parallel(&mut self, turns: u8, gens_per_turn: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/core/data.rs:60:30 [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:138:48 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn fitness_proportionate_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:148:31 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:152:38 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn pareto_rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Selection` is more private than the item `GP::set_selection_method` [INFO] [stdout] --> src/core/gp.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn set_selection_method(mut self, sm: Selection) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `GP::set_selection_method` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Selection` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/core/gp.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | enum Selection { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_empty`, `core_mut`, `core`, and `pareto_rank_select` are never used [INFO] [stdout] --> src/core/population.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Population { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn core_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn core(&self) -> &Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn pareto_rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FitnessProportionate` and `Rank` are never constructed [INFO] [stdout] --> src/core/gp.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 13 | enum Selection { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | FitnessProportionate, // TODO [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | Rank, // TODO [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GeometricSemantic` is never constructed [INFO] [stdout] --> src/core/gp.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 22 | enum Variation { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 30 | GeometricSemantic(f32, bool), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_gsgp`, `set_pop`, and `set_selection_method` are never used [INFO] [stdout] --> src/core/gp.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl GP { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn new_gsgp(dataset: Data) -> GP { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn set_pop(mut self, pop: Population) -> GP { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn set_selection_method(mut self, sm: Selection) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/core/data.rs:60:30 [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.48s [INFO] running `Command { std: "docker" "inspect" "ce2530f6a0d6016fadc5bdb20dd9517386312504302431b6f68023eea5166067", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce2530f6a0d6016fadc5bdb20dd9517386312504302431b6f68023eea5166067", kill_on_drop: false }` [INFO] [stdout] ce2530f6a0d6016fadc5bdb20dd9517386312504302431b6f68023eea5166067 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f19f83e2154ade0cafed10049595d255d7fc1f8f12c8dc97ce23248eadb282e3 [INFO] running `Command { std: "docker" "start" "-a" "f19f83e2154ade0cafed10049595d255d7fc1f8f12c8dc97ce23248eadb282e3", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:138:48 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn fitness_proportionate_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:148:31 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:152:38 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn pareto_rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Selection` is more private than the item `GP::set_selection_method` [INFO] [stdout] --> src/core/gp.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn set_selection_method(mut self, sm: Selection) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `GP::set_selection_method` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Selection` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/core/gp.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | enum Selection { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Data` is never constructed [INFO] [stdout] --> src/core/data.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Data { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Data` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/data.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Data { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 17 | pub fn train(&self) -> &Vec> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn test(&self) -> &Vec> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn dims(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn train_targets(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn test_targets(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn new(dataset: &'static str) -> Data { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn new_df(filename: String) -> Vec> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn get_iterator(filepath: &str) -> Lines> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn fill_array(lines: Lines>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn transpose_array(array: Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rmse` is never used [INFO] [stdout] --> src/core/utils.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn rmse(x: &Vec, y: &Vec) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add` is never used [INFO] [stdout] --> src/core/utils.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn add(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `subtract` is never used [INFO] [stdout] --> src/core/utils.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn subtract(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply` is never used [INFO] [stdout] --> src/core/utils.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn multiply(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cosine` is never used [INFO] [stdout] --> src/core/utils.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn cosine(x: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `logistic_function` is never used [INFO] [stdout] --> src/core/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn logistic_function(x: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divide` is never used [INFO] [stdout] --> src/core/utils.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn divide(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Node` is never used [INFO] [stdout] --> src/core/node.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `arity`, `op`, `get_random_const`, `get_random_functional`, and `get_random_input` are never used [INFO] [stdout] --> src/core/node.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Node { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 20 | /// Returns how many arguments a node takes. [INFO] [stdout] 21 | pub fn arity(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn op(&self, args: Vec>) -> Vec { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_random_const() -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn get_random_functional() -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn get_random_input(dimensions: usize) -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Individual` is never constructed [INFO] [stdout] --> src/core/individual.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Individual { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Individual` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/individual.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Individual { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 37 | /// Returns a clone of core. [INFO] [stdout] 38 | pub fn clone_core(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn train(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn test(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn depth(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn train_semantics(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn test_semantics(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn semantics(&self) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn new() -> Individual { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn full(max_depth: usize, data_ref: &Data) -> Individual { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn inner_full(&mut self, current_depth: usize, max_depth: usize, data_dims: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn grow(max_depth: usize, data_ref: &Data) -> Individual { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn inner_grow(&mut self, current_depth: usize, max_depth: usize, data_dims: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn get(&mut self, idx: usize) -> Node { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn prepend_node(&mut self, node: Node) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn compute_depth(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn inner_compute_depth(&mut self, idx: &mut usize, current_depth: &usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | fn output(&mut self, mut idx: usize, df: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compute_semantics(&mut self, data: &Data) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn evaluate(&mut self, data: &Data) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn count_subtree_nodes(&self, starting_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn outer_left_copy(&self, excluding_node_at: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn outer_right_copy(&self, including_node_at: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn copy_subtree(&self, from_node: usize, subtree_nodes: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub fn plug_in_core(&mut self, nodes: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `crossover` is never used [INFO] [stdout] --> src/core/individual.rs:305:16 [INFO] [stdout] | [INFO] [stdout] 305 | pub fn crossover(p1: &Individual, p2: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutation` is never used [INFO] [stdout] --> src/core/individual.rs:331:16 [INFO] [stdout] | [INFO] [stdout] 331 | pub fn mutation(p1: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `crossover` is never used [INFO] [stdout] --> src/core/individual.rs:369:16 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn crossover(p1: &Individual, p2: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gs_crossover_semantics` is never used [INFO] [stdout] --> src/core/individual.rs:394:12 [INFO] [stdout] | [INFO] [stdout] 394 | fn gs_crossover_semantics(p1_semantics: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_xo_offspring_size` is never used [INFO] [stdout] --> src/core/individual.rs:405:12 [INFO] [stdout] | [INFO] [stdout] 405 | fn calc_xo_offspring_size(p1: &Individual, p2: &Individual, r1: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_xo_offspring_depth` is never used [INFO] [stdout] --> src/core/individual.rs:409:12 [INFO] [stdout] | [INFO] [stdout] 409 | fn calc_xo_offspring_depth(p1: &Individual, p2: &Individual, r1: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutation` is never used [INFO] [stdout] --> src/core/individual.rs:415:16 [INFO] [stdout] | [INFO] [stdout] 415 | pub fn mutation(p1: &Individual, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gs_mutation_semantics` is never used [INFO] [stdout] --> src/core/individual.rs:450:12 [INFO] [stdout] | [INFO] [stdout] 450 | fn gs_mutation_semantics(p1_sems: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_mut_offspring_size` is never used [INFO] [stdout] --> src/core/individual.rs:461:12 [INFO] [stdout] | [INFO] [stdout] 461 | fn calc_mut_offspring_size(p1: &Individual, r1: &Individual, r2: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_mut_offspring_depth` is never used [INFO] [stdout] --> src/core/individual.rs:465:12 [INFO] [stdout] | [INFO] [stdout] 465 | fn calc_mut_offspring_depth(p1: &Individual, r1: &Individual, r2: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Population` is never constructed [INFO] [stdout] --> src/core/population.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Population { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Population` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/population.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Population { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 13 | /// Returns size of the population. [INFO] [stdout] 14 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn new() -> Population { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn add_individual(&mut self, new_guy: Individual) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn add_individuals(&mut self, new_guys: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn core_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn core(&self) -> &Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn new_rhh(pop_size: usize, max_init_depth: usize, data: &Data) -> Population { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn sort_by_te(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_first(&self) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn clone_k_best(&self, k: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn keep_k_best(&mut self, k: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn tournament_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn fitness_proportionate_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn pareto_rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Selection` is never used [INFO] [stdout] --> src/core/gp.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | enum Selection { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Variation` is never used [INFO] [stdout] --> src/core/gp.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | enum Variation { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GP` is never constructed [INFO] [stdout] --> src/core/gp.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct GP { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/gp.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl GP { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn new_gp(dataset: Data) -> GP { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn new_gsgp(dataset: Data) -> GP { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn set_pop(mut self, pop: Population) -> GP { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn set_pop_size(mut self, size: usize) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn set_xo_rate(mut self, xo_rate: f32) -> GP { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn set_pool_size(mut self, ps: usize) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn set_selection_method(mut self, sm: Selection) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn pop(&self) -> &Population { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn pop_mut(&mut self) -> &mut Population { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn init_new_pop(&mut self) -> () { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | fn print_state(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn select(&self) -> &Individual { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | fn crossover(&self, p1: &Individual, p2: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | fn mutation(&self, p1: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn evolve(&mut self, gens: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn clean(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mgp` is never constructed [INFO] [stdout] --> src/core/multi_gp.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Mgp { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling nodevo v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated items `new`, `add_subpop`, `init`, and `evolve_in_parallel` are never used [INFO] [stdout] --> src/core/multi_gp.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Mgp { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 11 | /// Returns a blank `Mgp` to be configured [INFO] [stdout] 12 | pub fn new() -> Mgp { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn add_subpop(mut self, s: GP) -> Mgp { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn init(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn evolve_in_parallel(&mut self, turns: u8, gens_per_turn: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/core/data.rs:60:30 [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:138:48 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn fitness_proportionate_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:148:31 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:152:38 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn pareto_rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:138:48 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn fitness_proportionate_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:148:31 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/core/population.rs:152:38 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn pareto_rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Selection` is more private than the item `GP::set_selection_method` [INFO] [stdout] --> src/core/gp.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn set_selection_method(mut self, sm: Selection) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `GP::set_selection_method` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Selection` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/core/gp.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | enum Selection { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Data` is never constructed [INFO] [stdout] --> src/core/data.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Data { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Data` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/data.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Data { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 17 | pub fn train(&self) -> &Vec> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn test(&self) -> &Vec> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn dims(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn train_targets(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn test_targets(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn new(dataset: &'static str) -> Data { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn new_df(filename: String) -> Vec> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn get_iterator(filepath: &str) -> Lines> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn fill_array(lines: Lines>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn transpose_array(array: Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rmse` is never used [INFO] [stdout] --> src/core/utils.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn rmse(x: &Vec, y: &Vec) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add` is never used [INFO] [stdout] --> src/core/utils.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn add(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `subtract` is never used [INFO] [stdout] --> src/core/utils.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn subtract(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply` is never used [INFO] [stdout] --> src/core/utils.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn multiply(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cosine` is never used [INFO] [stdout] --> src/core/utils.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn cosine(x: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `logistic_function` is never used [INFO] [stdout] --> src/core/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn logistic_function(x: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divide` is never used [INFO] [stdout] --> src/core/utils.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn divide(x: Vec, y: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Node` is never used [INFO] [stdout] --> src/core/node.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `arity`, `op`, `get_random_const`, `get_random_functional`, and `get_random_input` are never used [INFO] [stdout] --> src/core/node.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Node { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 20 | /// Returns how many arguments a node takes. [INFO] [stdout] 21 | pub fn arity(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn op(&self, args: Vec>) -> Vec { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_random_const() -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn get_random_functional() -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn get_random_input(dimensions: usize) -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Individual` is never constructed [INFO] [stdout] --> src/core/individual.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Individual { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Individual` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/individual.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Individual { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 37 | /// Returns a clone of core. [INFO] [stdout] 38 | pub fn clone_core(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn train(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn test(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn depth(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn train_semantics(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn test_semantics(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn semantics(&self) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn new() -> Individual { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn full(max_depth: usize, data_ref: &Data) -> Individual { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn inner_full(&mut self, current_depth: usize, max_depth: usize, data_dims: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn grow(max_depth: usize, data_ref: &Data) -> Individual { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn inner_grow(&mut self, current_depth: usize, max_depth: usize, data_dims: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn get(&mut self, idx: usize) -> Node { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn prepend_node(&mut self, node: Node) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn compute_depth(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn inner_compute_depth(&mut self, idx: &mut usize, current_depth: &usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | fn output(&mut self, mut idx: usize, df: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn compute_semantics(&mut self, data: &Data) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn evaluate(&mut self, data: &Data) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn count_subtree_nodes(&self, starting_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn outer_left_copy(&self, excluding_node_at: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn outer_right_copy(&self, including_node_at: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn copy_subtree(&self, from_node: usize, subtree_nodes: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub fn plug_in_core(&mut self, nodes: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `crossover` is never used [INFO] [stdout] --> src/core/individual.rs:305:16 [INFO] [stdout] | [INFO] [stdout] 305 | pub fn crossover(p1: &Individual, p2: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutation` is never used [INFO] [stdout] --> src/core/individual.rs:331:16 [INFO] [stdout] | [INFO] [stdout] 331 | pub fn mutation(p1: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `crossover` is never used [INFO] [stdout] --> src/core/individual.rs:369:16 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn crossover(p1: &Individual, p2: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gs_crossover_semantics` is never used [INFO] [stdout] --> src/core/individual.rs:394:12 [INFO] [stdout] | [INFO] [stdout] 394 | fn gs_crossover_semantics(p1_semantics: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_xo_offspring_size` is never used [INFO] [stdout] --> src/core/individual.rs:405:12 [INFO] [stdout] | [INFO] [stdout] 405 | fn calc_xo_offspring_size(p1: &Individual, p2: &Individual, r1: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_xo_offspring_depth` is never used [INFO] [stdout] --> src/core/individual.rs:409:12 [INFO] [stdout] | [INFO] [stdout] 409 | fn calc_xo_offspring_depth(p1: &Individual, p2: &Individual, r1: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutation` is never used [INFO] [stdout] --> src/core/individual.rs:415:16 [INFO] [stdout] | [INFO] [stdout] 415 | pub fn mutation(p1: &Individual, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gs_mutation_semantics` is never used [INFO] [stdout] --> src/core/individual.rs:450:12 [INFO] [stdout] | [INFO] [stdout] 450 | fn gs_mutation_semantics(p1_sems: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_mut_offspring_size` is never used [INFO] [stdout] --> src/core/individual.rs:461:12 [INFO] [stdout] | [INFO] [stdout] 461 | fn calc_mut_offspring_size(p1: &Individual, r1: &Individual, r2: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_mut_offspring_depth` is never used [INFO] [stdout] --> src/core/individual.rs:465:12 [INFO] [stdout] | [INFO] [stdout] 465 | fn calc_mut_offspring_depth(p1: &Individual, r1: &Individual, r2: &Individual) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Population` is never constructed [INFO] [stdout] --> src/core/population.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Population { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Population` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Selection` is more private than the item `GP::set_selection_method` [INFO] [stdout] --> src/core/gp.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn set_selection_method(mut self, sm: Selection) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `GP::set_selection_method` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Selection` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/core/gp.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | enum Selection { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/population.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Population { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 13 | /// Returns size of the population. [INFO] [stdout] 14 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn new() -> Population { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn add_individual(&mut self, new_guy: Individual) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn add_individuals(&mut self, new_guys: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn core_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn core(&self) -> &Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn new_rhh(pop_size: usize, max_init_depth: usize, data: &Data) -> Population { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn sort_by_te(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_first(&self) -> &Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn clone_k_best(&self, k: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn keep_k_best(&mut self, k: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn tournament_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn fitness_proportionate_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn pareto_rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_empty`, `core_mut`, `core`, and `pareto_rank_select` are never used [INFO] [stdout] --> src/core/population.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Population { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn core_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn core(&self) -> &Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn pareto_rank_select(&self, pool_size: usize) -> &Individual { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Selection` is never used [INFO] [stdout] --> src/core/gp.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | enum Selection { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Variation` is never used [INFO] [stdout] --> src/core/gp.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | enum Variation { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GP` is never constructed [INFO] [stdout] --> src/core/gp.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct GP { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FitnessProportionate` and `Rank` are never constructed [INFO] [stdout] --> src/core/gp.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 13 | enum Selection { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | FitnessProportionate, // TODO [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | Rank, // TODO [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GeometricSemantic` is never constructed [INFO] [stdout] --> src/core/gp.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 22 | enum Variation { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 30 | GeometricSemantic(f32, bool), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_gsgp`, `set_pop`, and `set_selection_method` are never used [INFO] [stdout] --> src/core/gp.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl GP { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn new_gsgp(dataset: Data) -> GP { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn set_pop(mut self, pop: Population) -> GP { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn set_selection_method(mut self, sm: Selection) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/gp.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl GP { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn new_gp(dataset: Data) -> GP { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn new_gsgp(dataset: Data) -> GP { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn set_pop(mut self, pop: Population) -> GP { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn set_pop_size(mut self, size: usize) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn set_xo_rate(mut self, xo_rate: f32) -> GP { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn set_pool_size(mut self, ps: usize) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn set_selection_method(mut self, sm: Selection) -> GP { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn pop(&self) -> &Population { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn pop_mut(&mut self) -> &mut Population { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn init_new_pop(&mut self) -> () { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | fn print_state(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn select(&self) -> &Individual { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | fn crossover(&self, p1: &Individual, p2: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | fn mutation(&self, p1: &Individual, data: &Data) -> Individual { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn evolve(&mut self, gens: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn clean(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mgp` is never constructed [INFO] [stdout] --> src/core/multi_gp.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Mgp { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/core/data.rs:60:30 [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_subpop`, `init`, and `evolve_in_parallel` are never used [INFO] [stdout] --> src/core/multi_gp.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Mgp { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 11 | /// Returns a blank `Mgp` to be configured [INFO] [stdout] 12 | pub fn new() -> Mgp { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn add_subpop(mut self, s: GP) -> Mgp { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn init(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn evolve_in_parallel(&mut self, turns: u8, gens_per_turn: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/core/data.rs:60:30 [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s [INFO] running `Command { std: "docker" "inspect" "f19f83e2154ade0cafed10049595d255d7fc1f8f12c8dc97ce23248eadb282e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f19f83e2154ade0cafed10049595d255d7fc1f8f12c8dc97ce23248eadb282e3", kill_on_drop: false }` [INFO] [stdout] f19f83e2154ade0cafed10049595d255d7fc1f8f12c8dc97ce23248eadb282e3