[INFO] cloning repository https://github.com/nsmryan/rgep [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nsmryan/rgep" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnsmryan%2Frgep", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnsmryan%2Frgep'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e6c51757e7117c4eab7d9ef19b1a56b90482b979 [INFO] testing nsmryan/rgep against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnsmryan%2Frgep" "/workspace/builds/worker-1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nsmryan/rgep on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nsmryan/rgep [INFO] finished tweaking git repo https://github.com/nsmryan/rgep [INFO] tweaked toml for git repo https://github.com/nsmryan/rgep written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/nsmryan/rgep already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded myopic v0.1.2 [INFO] [stderr] Downloaded im v12.3.0 [INFO] [stderr] Downloaded criterion v0.2.8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e5e825be7965ac3fea2e542c679472c4f5cdf471b9d1e73bb2be14110cba2acb [INFO] running `Command { std: "docker" "start" "-a" "e5e825be7965ac3fea2e542c679472c4f5cdf471b9d1e73bb2be14110cba2acb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e5e825be7965ac3fea2e542c679472c4f5cdf471b9d1e73bb2be14110cba2acb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e5e825be7965ac3fea2e542c679472c4f5cdf471b9d1e73bb2be14110cba2acb", kill_on_drop: false }` [INFO] [stdout] e5e825be7965ac3fea2e542c679472c4f5cdf471b9d1e73bb2be14110cba2acb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 2be6995596c86a6c9244f1055d0b05884e76aeb215a539ec67f2197f84d0b5cb [INFO] running `Command { std: "docker" "start" "-a" "2be6995596c86a6c9244f1055d0b05884e76aeb215a539ec67f2197f84d0b5cb", kill_on_drop: false }` [INFO] [stderr] Compiling num-complex v0.2.1 [INFO] [stderr] Compiling num-iter v0.1.37 [INFO] [stderr] Compiling myopic v0.1.2 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling im v12.3.0 [INFO] [stderr] Compiling num_cpus v1.9.0 [INFO] [stderr] Compiling float-cmp v0.4.0 [INFO] [stderr] Compiling num-bigint v0.2.2 [INFO] [stderr] Compiling rayon-core v1.4.1 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rayon v1.0.3 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling num-rational v0.2.1 [INFO] [stderr] Compiling statrs v0.12.0 [INFO] [stderr] Compiling num v0.2.0 [INFO] [stderr] Compiling rgep v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/crossover.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/point_mutation.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::boxed::Box` [INFO] [stdout] --> src/ga/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::PrimInt` [INFO] [stdout] --> src/ga/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use num::PrimInt; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/rgep/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::crossover::*` [INFO] [stdout] --> src/rgep/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::crossover::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::point_mutation::*` [INFO] [stdout] --> src/rgep/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::point_mutation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rotation::*` [INFO] [stdout] --> src/rgep/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::rotation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::selection::*` [INFO] [stdout] --> src/rgep/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::selection::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `alt_pop` [INFO] [stdout] --> src/rgep/mod.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | let mut alt_pop = create_rgep_fast(¶ms); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alt_pop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bits_per_sym` [INFO] [stdout] --> src/rgep/mod.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let bits_per_sym = context.bits_per_sym(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bits_per_sym` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/rgep/mod.rs:103:22 [INFO] [stdout] | [INFO] [stdout] 103 | state: &B, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eval_ind` [INFO] [stdout] --> src/rgep/mod.rs:104:22 [INFO] [stdout] | [INFO] [stdout] 104 | eval_ind: &EvalFunction, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eval_ind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/crossover.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut cross_state = getter(state); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/point_mutation.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | let mut pm_state = getter(state); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/selection.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | let mut sus_state = getter(state); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/evaluation.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut eval_state = getter(state); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rgep/mod.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | let mut pop = create_rgep(¶ms, &context, rng); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rgep/mod.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | let mut alt_pop = create_rgep_fast(¶ms); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/selection.rs:175:36 [INFO] [stdout] | [INFO] [stdout] 175 | assert!(increment.is_normal(), format!("Selection cannot work with {} increment!", increment)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 175 - assert!(increment.is_normal(), format!("Selection cannot work with {} increment!", increment)); [INFO] [stdout] 175 + assert!(increment.is_normal(), "Selection cannot work with {} increment!", increment); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `populationU8` should have a snake case name [INFO] [stdout] --> src/ga/mod.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn populationU8(pop_size: usize, ind_size: usize, rng: &mut R) -> PopU8 { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `population_u8` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `populationU8Zeros` should have a snake case name [INFO] [stdout] --> src/ga/mod.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn populationU8Zeros(pop_size: usize, ind_size: usize) -> PopU8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `population_u8_zeros` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main_expr` [INFO] [stdout] --> src/main.rs:138:4 [INFO] [stdout] | [INFO] [stdout] 138 | fn main_expr() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 23.23s [INFO] running `Command { std: "docker" "inspect" "2be6995596c86a6c9244f1055d0b05884e76aeb215a539ec67f2197f84d0b5cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2be6995596c86a6c9244f1055d0b05884e76aeb215a539ec67f2197f84d0b5cb", kill_on_drop: false }` [INFO] [stdout] 2be6995596c86a6c9244f1055d0b05884e76aeb215a539ec67f2197f84d0b5cb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8394c2bff0095a70fbf016ce5e46d4539ed44e5d8d6c7131652d0da1ab6d7b0d [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "8394c2bff0095a70fbf016ce5e46d4539ed44e5d8d6c7131652d0da1ab6d7b0d", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.85 [INFO] [stderr] Compiling proc-macro2 v0.4.26 [INFO] [stderr] Compiling memchr v2.1.3 [INFO] [stderr] Compiling byteorder v1.3.1 [INFO] [stderr] Compiling rand_core v0.3.0 [INFO] [stderr] Compiling cast v0.2.2 [INFO] [stderr] Compiling itertools v0.8.0 [INFO] [stderr] Compiling clap v2.32.0 [INFO] [stderr] Compiling atty v0.2.11 [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/crossover.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/point_mutation.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::boxed::Box` [INFO] [stdout] --> src/ga/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::PrimInt` [INFO] [stdout] --> src/ga/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use num::PrimInt; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/rgep/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::crossover::*` [INFO] [stdout] --> src/rgep/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::crossover::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::point_mutation::*` [INFO] [stdout] --> src/rgep/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::point_mutation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rotation::*` [INFO] [stdout] --> src/rgep/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::rotation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::selection::*` [INFO] [stdout] --> src/rgep/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::selection::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `alt_pop` [INFO] [stdout] --> src/rgep/mod.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | let mut alt_pop = create_rgep_fast(¶ms); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alt_pop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bits_per_sym` [INFO] [stdout] --> src/rgep/mod.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let bits_per_sym = context.bits_per_sym(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bits_per_sym` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/rgep/mod.rs:103:22 [INFO] [stdout] | [INFO] [stdout] 103 | state: &B, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eval_ind` [INFO] [stdout] --> src/rgep/mod.rs:104:22 [INFO] [stdout] | [INFO] [stdout] 104 | eval_ind: &EvalFunction, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eval_ind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/crossover.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut cross_state = getter(state); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/point_mutation.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | let mut pm_state = getter(state); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/selection.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | let mut sus_state = getter(state); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/evaluation.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut eval_state = getter(state); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rgep/mod.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | let mut pop = create_rgep(¶ms, &context, rng); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rgep/mod.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | let mut alt_pop = create_rgep_fast(¶ms); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/selection.rs:175:36 [INFO] [stdout] | [INFO] [stdout] 175 | assert!(increment.is_normal(), format!("Selection cannot work with {} increment!", increment)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 175 - assert!(increment.is_normal(), format!("Selection cannot work with {} increment!", increment)); [INFO] [stdout] 175 + assert!(increment.is_normal(), "Selection cannot work with {} increment!", increment); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `populationU8` should have a snake case name [INFO] [stdout] --> src/ga/mod.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn populationU8(pop_size: usize, ind_size: usize, rng: &mut R) -> PopU8 { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `population_u8` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `populationU8Zeros` should have a snake case name [INFO] [stdout] --> src/ga/mod.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn populationU8Zeros(pop_size: usize, ind_size: usize) -> PopU8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `population_u8_zeros` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rand_os v0.1.1 [INFO] [stderr] Compiling csv-core v0.1.5 [INFO] [stderr] Compiling rand_xoshiro v0.1.0 [INFO] [stderr] Compiling criterion-plot v0.3.0 [INFO] [stderr] Compiling quote v0.6.11 [INFO] [stderr] Compiling syn v0.15.26 [INFO] [stderr] Compiling serde_derive v1.0.85 [INFO] [stderr] Compiling serde_json v1.0.36 [INFO] [stderr] Compiling csv v1.0.5 [INFO] [stderr] Compiling tinytemplate v1.0.1 [INFO] [stderr] Compiling criterion v0.2.8 [INFO] [stderr] Compiling rgep v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/crossover.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/point_mutation.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::boxed::Box` [INFO] [stdout] --> src/ga/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::PrimInt` [INFO] [stdout] --> src/ga/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use num::PrimInt; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/rgep/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::crossover::*` [INFO] [stdout] --> src/rgep/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::crossover::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rotation::*` [INFO] [stdout] --> src/rgep/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::rotation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::selection::*` [INFO] [stdout] --> src/rgep/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::selection::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> examples/ga.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | Rc::new(|ind, rng| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main_expr` [INFO] [stdout] --> src/main.rs:138:4 [INFO] [stdout] | [INFO] [stdout] 138 | fn main_expr() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `alt_pop` [INFO] [stdout] --> src/rgep/mod.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | let mut alt_pop = create_rgep_fast(¶ms); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alt_pop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bits_per_sym` [INFO] [stdout] --> src/rgep/mod.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let bits_per_sym = context.bits_per_sym(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bits_per_sym` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/rgep/mod.rs:103:22 [INFO] [stdout] | [INFO] [stdout] 103 | state: &B, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eval_ind` [INFO] [stdout] --> src/rgep/mod.rs:104:22 [INFO] [stdout] | [INFO] [stdout] 104 | eval_ind: &EvalFunction, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eval_ind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/crossover.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut cross_state = getter(state); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/point_mutation.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | let mut pm_state = getter(state); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/selection.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | let mut sus_state = getter(state); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/evaluation.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut eval_state = getter(state); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rgep/mod.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | let mut pop = create_rgep(¶ms, &context, rng); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rgep/mod.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | let mut alt_pop = create_rgep_fast(¶ms); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/crossover.rs:226:29 [INFO] [stdout] | [INFO] [stdout] 226 | assert!(first == 0xF0, format!("was {:b}, expected {:b}", first, 0xF0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 226 - assert!(first == 0xF0, format!("was {:b}, expected {:b}", first, 0xF0)); [INFO] [stdout] 226 + assert!(first == 0xF0, "was {:b}, expected {:b}", first, 0xF0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/crossover.rs:227:29 [INFO] [stdout] | [INFO] [stdout] 227 | assert!(second == 0x0F, format!("was {:b}, expected {:b}", second, 0x0F)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 227 - assert!(second == 0x0F, format!("was {:b}, expected {:b}", second, 0x0F)); [INFO] [stdout] 227 + assert!(second == 0x0F, "was {:b}, expected {:b}", second, 0x0F); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/rotation.rs:54:30 [INFO] [stdout] | [INFO] [stdout] 54 | assert!(ind == expected, format!("{:?} != {:?}", ind, expected)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 54 - assert!(ind == expected, format!("{:?} != {:?}", ind, expected)); [INFO] [stdout] 54 + assert!(ind == expected, "{:?} != {:?}", ind, expected); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/rotation.rs:85:30 [INFO] [stdout] | [INFO] [stdout] 85 | assert!(ind == expected, format!("{:?} != {:?}", ind, expected)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 85 - assert!(ind == expected, format!("{:?} != {:?}", ind, expected)); [INFO] [stdout] 85 + assert!(ind == expected, "{:?} != {:?}", ind, expected); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/selection.rs:175:36 [INFO] [stdout] | [INFO] [stdout] 175 | assert!(increment.is_normal(), format!("Selection cannot work with {} increment!", increment)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 175 - assert!(increment.is_normal(), format!("Selection cannot work with {} increment!", increment)); [INFO] [stdout] 175 + assert!(increment.is_normal(), "Selection cannot work with {} increment!", increment); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/domains/symbols.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | assert!(ar1 + ar2 == Arity::new(3, 2), format!("arity was {:?}", ar1 + ar2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 46 - assert!(ar1 + ar2 == Arity::new(3, 2), format!("arity was {:?}", ar1 + ar2)); [INFO] [stdout] 46 + assert!(ar1 + ar2 == Arity::new(3, 2), "arity was {:?}", ar1 + ar2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/domains/symbols.rs:47:44 [INFO] [stdout] | [INFO] [stdout] 47 | assert!(ar1 + ar3 == Arity::new(6, 1), format!("arity was {:?}", ar1 + ar3)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 47 - assert!(ar1 + ar3 == Arity::new(6, 1), format!("arity was {:?}", ar1 + ar3)); [INFO] [stdout] 47 + assert!(ar1 + ar3 == Arity::new(6, 1), "arity was {:?}", ar1 + ar3); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/domains/symbols.rs:48:44 [INFO] [stdout] | [INFO] [stdout] 48 | assert!(ar3 + ar1 == Arity::new(7, 2), format!("arity was {:?}", ar1 + ar3)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 48 - assert!(ar3 + ar1 == Arity::new(7, 2), format!("arity was {:?}", ar1 + ar3)); [INFO] [stdout] 48 + assert!(ar3 + ar1 == Arity::new(7, 2), "arity was {:?}", ar1 + ar3); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/rgep/context.rs:123:67 [INFO] [stdout] | [INFO] [stdout] 123 | assert!(result.approx_eq(&3.0, 2.0 * ::std::f64::EPSILON, 2), format!("result was {}", result)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 123 - assert!(result.approx_eq(&3.0, 2.0 * ::std::f64::EPSILON, 2), format!("result was {}", result)) [INFO] [stdout] 123 + assert!(result.approx_eq(&3.0, 2.0 * ::std::f64::EPSILON, 2), "result was {}", result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/rgep/mod.rs:177:49 [INFO] [stdout] | [INFO] [stdout] 177 | assert!((percent_ones - 0.5).abs() < 0.005, format!("Percent ones was expected to be 0.5, but was {}", percent_ones)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 177 - assert!((percent_ones - 0.5).abs() < 0.005, format!("Percent ones was expected to be 0.5, but was {}", percent_ones)); [INFO] [stdout] 177 + assert!((percent_ones - 0.5).abs() < 0.005, "Percent ones was expected to be 0.5, but was {}", percent_ones); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `populationU8` should have a snake case name [INFO] [stdout] --> src/ga/mod.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn populationU8(pop_size: usize, ind_size: usize, rng: &mut R) -> PopU8 { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `population_u8` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `populationU8Zeros` should have a snake case name [INFO] [stdout] --> src/ga/mod.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn populationU8Zeros(pop_size: usize, ind_size: usize) -> PopU8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `population_u8_zeros` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 59.05s [INFO] running `Command { std: "docker" "inspect" "8394c2bff0095a70fbf016ce5e46d4539ed44e5d8d6c7131652d0da1ab6d7b0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8394c2bff0095a70fbf016ce5e46d4539ed44e5d8d6c7131652d0da1ab6d7b0d", kill_on_drop: false }` [INFO] [stdout] 8394c2bff0095a70fbf016ce5e46d4539ed44e5d8d6c7131652d0da1ab6d7b0d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 708fcfea76dfe7d5726e3fff1c6578fc5502e108e4e2c4b3a7b32b9b026f4b84 [INFO] running `Command { std: "docker" "start" "-a" "708fcfea76dfe7d5726e3fff1c6578fc5502e108e4e2c4b3a7b32b9b026f4b84", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::ops::DerefMut` [INFO] [stderr] --> src/crossover.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ops::DerefMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::DerefMut` [INFO] [stderr] --> src/point_mutation.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ops::DerefMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::boxed::Box` [INFO] [stderr] --> src/ga/mod.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::boxed::Box; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `num::PrimInt` [INFO] [stderr] --> src/ga/mod.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use num::PrimInt; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/rgep/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::crossover::*` [INFO] [stderr] --> src/rgep/mod.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::crossover::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::point_mutation::*` [INFO] [stderr] --> src/rgep/mod.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::point_mutation::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::rotation::*` [INFO] [stderr] --> src/rgep/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use crate::rotation::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::selection::*` [INFO] [stderr] --> src/rgep/mod.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::selection::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `alt_pop` [INFO] [stderr] --> src/rgep/mod.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | let mut alt_pop = create_rgep_fast(¶ms); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alt_pop` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bits_per_sym` [INFO] [stderr] --> src/rgep/mod.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | let bits_per_sym = context.bits_per_sym(); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bits_per_sym` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/rgep/mod.rs:103:22 [INFO] [stderr] | [INFO] [stderr] 103 | state: &B, [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `eval_ind` [INFO] [stderr] --> src/rgep/mod.rs:104:22 [INFO] [stderr] | [INFO] [stderr] 104 | eval_ind: &EvalFunction, [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eval_ind` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/crossover.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | let mut cross_state = getter(state); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/point_mutation.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | let mut pm_state = getter(state); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/selection.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | let mut sus_state = getter(state); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/evaluation.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | let mut eval_state = getter(state); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rgep/mod.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | let mut pop = create_rgep(¶ms, &context, rng); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rgep/mod.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | let mut alt_pop = create_rgep_fast(¶ms); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/selection.rs:175:36 [INFO] [stderr] | [INFO] [stderr] 175 | assert!(increment.is_normal(), format!("Selection cannot work with {} increment!", increment)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 175 - assert!(increment.is_normal(), format!("Selection cannot work with {} increment!", increment)); [INFO] [stderr] 175 + assert!(increment.is_normal(), "Selection cannot work with {} increment!", increment); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: function `populationU8` should have a snake case name [INFO] [stderr] --> src/ga/mod.rs:54:8 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn populationU8(pop_size: usize, ind_size: usize, rng: &mut R) -> PopU8 { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `population_u8` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `populationU8Zeros` should have a snake case name [INFO] [stderr] --> src/ga/mod.rs:69:8 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn populationU8Zeros(pop_size: usize, ind_size: usize) -> PopU8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `population_u8_zeros` [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/crossover.rs:226:29 [INFO] [stderr] | [INFO] [stderr] 226 | assert!(first == 0xF0, format!("was {:b}, expected {:b}", first, 0xF0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 226 - assert!(first == 0xF0, format!("was {:b}, expected {:b}", first, 0xF0)); [INFO] [stderr] 226 + assert!(first == 0xF0, "was {:b}, expected {:b}", first, 0xF0); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/crossover.rs:227:29 [INFO] [stderr] | [INFO] [stderr] 227 | assert!(second == 0x0F, format!("was {:b}, expected {:b}", second, 0x0F)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 227 - assert!(second == 0x0F, format!("was {:b}, expected {:b}", second, 0x0F)); [INFO] [stderr] 227 + assert!(second == 0x0F, "was {:b}, expected {:b}", second, 0x0F); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/rotation.rs:54:30 [INFO] [stderr] | [INFO] [stderr] 54 | assert!(ind == expected, format!("{:?} != {:?}", ind, expected)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 54 - assert!(ind == expected, format!("{:?} != {:?}", ind, expected)); [INFO] [stderr] 54 + assert!(ind == expected, "{:?} != {:?}", ind, expected); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/rotation.rs:85:30 [INFO] [stderr] | [INFO] [stderr] 85 | assert!(ind == expected, format!("{:?} != {:?}", ind, expected)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 85 - assert!(ind == expected, format!("{:?} != {:?}", ind, expected)); [INFO] [stderr] 85 + assert!(ind == expected, "{:?} != {:?}", ind, expected); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/selection.rs:175:36 [INFO] [stderr] | [INFO] [stderr] 175 | assert!(increment.is_normal(), format!("Selection cannot work with {} increment!", increment)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 175 - assert!(increment.is_normal(), format!("Selection cannot work with {} increment!", increment)); [INFO] [stderr] 175 + assert!(increment.is_normal(), "Selection cannot work with {} increment!", increment); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/domains/symbols.rs:46:44 [INFO] [stderr] | [INFO] [stderr] 46 | assert!(ar1 + ar2 == Arity::new(3, 2), format!("arity was {:?}", ar1 + ar2)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 46 - assert!(ar1 + ar2 == Arity::new(3, 2), format!("arity was {:?}", ar1 + ar2)); [INFO] [stderr] 46 + assert!(ar1 + ar2 == Arity::new(3, 2), "arity was {:?}", ar1 + ar2); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/domains/symbols.rs:47:44 [INFO] [stderr] | [INFO] [stderr] 47 | assert!(ar1 + ar3 == Arity::new(6, 1), format!("arity was {:?}", ar1 + ar3)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 47 - assert!(ar1 + ar3 == Arity::new(6, 1), format!("arity was {:?}", ar1 + ar3)); [INFO] [stderr] 47 + assert!(ar1 + ar3 == Arity::new(6, 1), "arity was {:?}", ar1 + ar3); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/domains/symbols.rs:48:44 [INFO] [stderr] | [INFO] [stderr] 48 | assert!(ar3 + ar1 == Arity::new(7, 2), format!("arity was {:?}", ar1 + ar3)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 48 - assert!(ar3 + ar1 == Arity::new(7, 2), format!("arity was {:?}", ar1 + ar3)); [INFO] [stderr] 48 + assert!(ar3 + ar1 == Arity::new(7, 2), "arity was {:?}", ar1 + ar3); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/rgep/context.rs:123:67 [INFO] [stderr] | [INFO] [stderr] 123 | assert!(result.approx_eq(&3.0, 2.0 * ::std::f64::EPSILON, 2), format!("result was {}", result)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 123 - assert!(result.approx_eq(&3.0, 2.0 * ::std::f64::EPSILON, 2), format!("result was {}", result)) [INFO] [stderr] 123 + assert!(result.approx_eq(&3.0, 2.0 * ::std::f64::EPSILON, 2), "result was {}", result) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/rgep/mod.rs:177:49 [INFO] [stderr] | [INFO] [stderr] 177 | assert!((percent_ones - 0.5).abs() < 0.005, format!("Percent ones was expected to be 0.5, but was {}", percent_ones)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 177 - assert!((percent_ones - 0.5).abs() < 0.005, format!("Percent ones was expected to be 0.5, but was {}", percent_ones)); [INFO] [stderr] 177 + assert!((percent_ones - 0.5).abs() < 0.005, "Percent ones was expected to be 0.5, but was {}", percent_ones); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `rgep` (lib) generated 22 warnings [INFO] [stderr] warning: `rgep` (lib test) generated 30 warnings (20 duplicates) [INFO] [stderr] warning: function is never used: `main_expr` [INFO] [stderr] --> src/main.rs:138:4 [INFO] [stderr] | [INFO] [stderr] 138 | fn main_expr() { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rng` [INFO] [stderr] --> examples/ga.rs:20:23 [INFO] [stderr] | [INFO] [stderr] 20 | Rc::new(|ind, rng| { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `rgep` (bin "rgep" test) generated 1 warning [INFO] [stderr] warning: `rgep` (example "ga") generated 1 warning [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rgep-d49b278a5a4bbf44) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test crossover::test_cross_at_point ... ok [INFO] [stdout] test crossover::test_cross_at_points_naive ... ok [INFO] [stdout] test crossover::test_cross_word ... ok [INFO] [stdout] test rotation::test_rotate ... ok [INFO] [stdout] test rotation::test_rotate_copy ... ok [INFO] [stdout] test rgep::context::test_eval_simple_equation ... ok [INFO] [stdout] test crossover::test_cross_at_points ... ok [INFO] [stdout] test domains::symbols::test_arity_simple_cases ... ok [INFO] [stdout] test rgep::test_point_mutation_flips_bits ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rgep-a4c68869c692f2f0) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_popcount ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests rgep [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "708fcfea76dfe7d5726e3fff1c6578fc5502e108e4e2c4b3a7b32b9b026f4b84", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "708fcfea76dfe7d5726e3fff1c6578fc5502e108e4e2c4b3a7b32b9b026f4b84", kill_on_drop: false }` [INFO] [stdout] 708fcfea76dfe7d5726e3fff1c6578fc5502e108e4e2c4b3a7b32b9b026f4b84