[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] checking nsmryan/rgep against master#936f2600b6c903b04387f74ed5cbce88bb06d243 for pr-91141 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnsmryan%2Frgep" "/workspace/builds/worker-78/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-78/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nsmryan/rgep on toolchain 936f2600b6c903b04387f74ed5cbce88bb06d243 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+936f2600b6c903b04387f74ed5cbce88bb06d243" "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-78/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" "+936f2600b6c903b04387f74ed5cbce88bb06d243" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-78/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-78/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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+936f2600b6c903b04387f74ed5cbce88bb06d243" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9ad615d7c960a3953c9b9ffcd451bb88d0ef97e0b811a8ae190f84497f5cf0b6 [INFO] running `Command { std: "docker" "start" "-a" "9ad615d7c960a3953c9b9ffcd451bb88d0ef97e0b811a8ae190f84497f5cf0b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9ad615d7c960a3953c9b9ffcd451bb88d0ef97e0b811a8ae190f84497f5cf0b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9ad615d7c960a3953c9b9ffcd451bb88d0ef97e0b811a8ae190f84497f5cf0b6", kill_on_drop: false }` [INFO] [stdout] 9ad615d7c960a3953c9b9ffcd451bb88d0ef97e0b811a8ae190f84497f5cf0b6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-78/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-78/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+936f2600b6c903b04387f74ed5cbce88bb06d243" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 71ac5cb7e4ddcfb04a60ff6190eafaeb2ba8c8f42fd98b04c9bb9a2f0a4afe09 [INFO] running `Command { std: "docker" "start" "-a" "71ac5cb7e4ddcfb04a60ff6190eafaeb2ba8c8f42fd98b04c9bb9a2f0a4afe09", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.69 [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling arrayvec v0.4.10 [INFO] [stderr] Checking nodrop v0.1.13 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Checking lazy_static v1.2.0 [INFO] [stderr] Compiling rayon-core v1.4.1 [INFO] [stderr] Checking either v1.5.0 [INFO] [stderr] Compiling serde v1.0.85 [INFO] [stderr] Compiling num-bigint v0.2.2 [INFO] [stderr] Compiling proc-macro2 v0.4.26 [INFO] [stderr] Compiling num-iter v0.1.37 [INFO] [stderr] Compiling rayon v1.0.3 [INFO] [stderr] Compiling num-complex v0.2.1 [INFO] [stderr] Compiling typenum v1.10.0 [INFO] [stderr] Compiling byteorder v1.3.1 [INFO] [stderr] Compiling memchr v2.1.3 [INFO] [stderr] Checking ppv-lite86 v0.2.6 [INFO] [stderr] Compiling ryu v0.2.7 [INFO] [stderr] Compiling num-rational v0.2.1 [INFO] [stderr] Checking itoa v0.4.3 [INFO] [stderr] Checking rand_core v0.3.0 [INFO] [stderr] Checking same-file v1.0.4 [INFO] [stderr] Checking bitflags v1.0.4 [INFO] [stderr] Checking cast v0.2.2 [INFO] [stderr] Checking myopic v0.1.2 [INFO] [stderr] Checking crossbeam-utils v0.2.2 [INFO] [stderr] Compiling im v12.3.0 [INFO] [stderr] Checking walkdir v2.2.7 [INFO] [stderr] Checking itertools v0.8.0 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Compiling quote v0.6.11 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Checking num_cpus v1.9.0 [INFO] [stderr] Checking rand_os v0.1.1 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking float-cmp v0.4.0 [INFO] [stderr] Checking csv-core v0.1.5 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Checking rand_xoshiro v0.1.0 [INFO] [stderr] Checking criterion-plot v0.3.0 [INFO] [stderr] Compiling syn v0.15.26 [INFO] [stderr] Checking serde_json v1.0.36 [INFO] [stderr] Checking csv v1.0.5 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_pcg v0.2.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Checking tinytemplate v1.0.1 [INFO] [stderr] Checking statrs v0.12.0 [INFO] [stderr] Checking 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] [stderr] Compiling serde_derive v1.0.85 [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] Checking criterion v0.2.8 [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: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [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: 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] [stdout] error[E0277]: `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] --> benches/bench.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | point_mutate_naive(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::iter::Iterator` is not implemented for `rgep::Ind<{integer}>` [INFO] [stdout] = note: required because of the requirements on the impl of `std::iter::Iterator` for `&mut rgep::Ind<{integer}>` [INFO] [stdout] note: required by a bound in `rgep::point_mutate_naive` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | I: 'a + IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `rgep::point_mutate_naive` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] --> benches/bench.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | point_mutate_naive(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::iter::Iterator` is not implemented for `rgep::Ind<{integer}>` [INFO] [stdout] = note: required because of the requirements on the impl of `std::iter::Iterator` for `&mut rgep::Ind<{integer}>` [INFO] [stdout] note: required by a bound in `rgep::point_mutate_naive` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | I: 'a + IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `rgep::point_mutate_naive` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] --> benches/bench.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | point_mutate_naive(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::iter::Iterator` is not implemented for `rgep::Ind<{integer}>` [INFO] [stdout] = note: required because of the requirements on the impl of `std::iter::Iterator` for `&mut rgep::Ind<{integer}>` [INFO] [stdout] note: required by a bound in `rgep::point_mutate_naive` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | I: 'a + IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `rgep::point_mutate_naive` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `rgep::Ind<{integer}>` [INFO] [stdout] --> benches/bench.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 120 | let mut ind = Ind(iter::repeat(0x0).take(n).collect()); [INFO] [stdout] | ------- consider giving `ind` the explicit type `rgep::Ind<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 123 | point_mutate(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: num_traits::int::PrimInt` found in the `num_traits` crate: [INFO] [stdout] - impl num_traits::int::PrimInt for i128; [INFO] [stdout] - impl num_traits::int::PrimInt for i16; [INFO] [stdout] - impl num_traits::int::PrimInt for i32; [INFO] [stdout] - impl num_traits::int::PrimInt for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `rgep::point_mutate` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:78:14 [INFO] [stdout] | [INFO] [stdout] 78 | T: PrimInt { [INFO] [stdout] | ^^^^^^^ required by this bound in `rgep::point_mutate` [INFO] [stdout] help: consider specifying the type arguments in the function call [INFO] [stdout] | [INFO] [stdout] 123 | point_mutate::(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `im::vector::Vector<{integer}>` [INFO] [stdout] --> benches/bench.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 128 | let mut ind = iter::repeat(0x0).take(n).collect(); [INFO] [stdout] | ------- consider giving `ind` the explicit type `im::vector::Vector<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 131 | point_mutate_im(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: num_traits::int::PrimInt` found in the `num_traits` crate: [INFO] [stdout] - impl num_traits::int::PrimInt for i128; [INFO] [stdout] - impl num_traits::int::PrimInt for i16; [INFO] [stdout] - impl num_traits::int::PrimInt for i32; [INFO] [stdout] - impl num_traits::int::PrimInt for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `rgep::point_mutate_im` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | T: PrimInt { [INFO] [stdout] | ^^^^^^^ required by this bound in `rgep::point_mutate_im` [INFO] [stdout] help: consider specifying the type arguments in the function call [INFO] [stdout] | [INFO] [stdout] 131 | point_mutate_im::(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `rgep::Ind<{integer}>` [INFO] [stdout] --> benches/bench.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 144 | let mut ind = Ind(iter::repeat(0x0).take(n).collect()); [INFO] [stdout] | ------- consider giving `ind` the explicit type `rgep::Ind<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 147 | point_mutate(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: num_traits::int::PrimInt` found in the `num_traits` crate: [INFO] [stdout] - impl num_traits::int::PrimInt for i128; [INFO] [stdout] - impl num_traits::int::PrimInt for i16; [INFO] [stdout] - impl num_traits::int::PrimInt for i32; [INFO] [stdout] - impl num_traits::int::PrimInt for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `rgep::point_mutate` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:78:14 [INFO] [stdout] | [INFO] [stdout] 78 | T: PrimInt { [INFO] [stdout] | ^^^^^^^ required by this bound in `rgep::point_mutate` [INFO] [stdout] help: consider specifying the type arguments in the function call [INFO] [stdout] | [INFO] [stdout] 147 | point_mutate::(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `im::vector::Vector<{integer}>` [INFO] [stdout] --> benches/bench.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 152 | let mut ind = iter::repeat(0x0).take(n).collect(); [INFO] [stdout] | ------- consider giving `ind` the explicit type `im::vector::Vector<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 155 | point_mutate_im(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: num_traits::int::PrimInt` found in the `num_traits` crate: [INFO] [stdout] - impl num_traits::int::PrimInt for i128; [INFO] [stdout] - impl num_traits::int::PrimInt for i16; [INFO] [stdout] - impl num_traits::int::PrimInt for i32; [INFO] [stdout] - impl num_traits::int::PrimInt for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `rgep::point_mutate_im` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | T: PrimInt { [INFO] [stdout] | ^^^^^^^ required by this bound in `rgep::point_mutate_im` [INFO] [stdout] help: consider specifying the type arguments in the function call [INFO] [stdout] | [INFO] [stdout] 155 | point_mutate_im::(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `rgep::Ind<{integer}>` [INFO] [stdout] --> benches/bench.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 168 | let mut ind = Ind(iter::repeat(0x0).take(n).collect()); [INFO] [stdout] | ------- consider giving `ind` the explicit type `rgep::Ind<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 171 | point_mutate(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: num_traits::int::PrimInt` found in the `num_traits` crate: [INFO] [stdout] - impl num_traits::int::PrimInt for i128; [INFO] [stdout] - impl num_traits::int::PrimInt for i16; [INFO] [stdout] - impl num_traits::int::PrimInt for i32; [INFO] [stdout] - impl num_traits::int::PrimInt for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `rgep::point_mutate` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:78:14 [INFO] [stdout] | [INFO] [stdout] 78 | T: PrimInt { [INFO] [stdout] | ^^^^^^^ required by this bound in `rgep::point_mutate` [INFO] [stdout] help: consider specifying the type arguments in the function call [INFO] [stdout] | [INFO] [stdout] 171 | point_mutate::(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `im::vector::Vector<{integer}>` [INFO] [stdout] --> benches/bench.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 176 | let mut ind = iter::repeat(0x0).take(n).collect(); [INFO] [stdout] | ------- consider giving `ind` the explicit type `im::vector::Vector<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 179 | point_mutate_im(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: num_traits::int::PrimInt` found in the `num_traits` crate: [INFO] [stdout] - impl num_traits::int::PrimInt for i128; [INFO] [stdout] - impl num_traits::int::PrimInt for i16; [INFO] [stdout] - impl num_traits::int::PrimInt for i32; [INFO] [stdout] - impl num_traits::int::PrimInt for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `rgep::point_mutate_im` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | T: PrimInt { [INFO] [stdout] | ^^^^^^^ required by this bound in `rgep::point_mutate_im` [INFO] [stdout] help: consider specifying the type arguments in the function call [INFO] [stdout] | [INFO] [stdout] 179 | point_mutate_im::(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] --> benches/bench.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | point_mutate_naive(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::iter::Iterator` is not implemented for `rgep::Ind<{integer}>` [INFO] [stdout] = note: required because of the requirements on the impl of `std::iter::Iterator` for `&mut rgep::Ind<{integer}>` [INFO] [stdout] note: required by a bound in `rgep::point_mutate_naive` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | I: 'a + IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `rgep::point_mutate_naive` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] --> benches/bench.rs:190:28 [INFO] [stdout] | [INFO] [stdout] 190 | point_mutate_naive(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ------------------ ^^^^^^^^ `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::iter::Iterator` is not implemented for `rgep::Ind<{integer}>` [INFO] [stdout] = note: required because of the requirements on the impl of `std::iter::Iterator` for `&mut rgep::Ind<{integer}>` [INFO] [stdout] note: required by a bound in `rgep::point_mutate_naive` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | I: 'a + IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `rgep::point_mutate_naive` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] --> benches/bench.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | point_mutate_naive(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `rgep::Ind<{integer}>` is not an iterator [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::iter::Iterator` is not implemented for `rgep::Ind<{integer}>` [INFO] [stdout] = note: required because of the requirements on the impl of `std::iter::Iterator` for `&mut rgep::Ind<{integer}>` [INFO] [stdout] note: required by a bound in `rgep::point_mutate_naive` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | I: 'a + IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `rgep::point_mutate_naive` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: a value of type `&Vec` cannot be built from an iterator over elements of type `f64` [INFO] [stdout] --> benches/bench.rs:277:50 [INFO] [stdout] | [INFO] [stdout] 277 | let fitnesses = (0..n).map(|f| f as f64).collect(); [INFO] [stdout] | ^^^^^^^ value of type `&Vec` cannot be built from `std::iter::Iterator` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromIterator` is not implemented for `&Vec` [INFO] [stdout] note: required by a bound in `collect` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `rgep::Ind<{integer}>` [INFO] [stdout] --> benches/bench.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 231 | let mut ind = Ind(iter::repeat(0x0).take(n).collect()); [INFO] [stdout] | ------- consider giving `ind` the explicit type `rgep::Ind<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 234 | point_mutate(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: num_traits::int::PrimInt` found in the `num_traits` crate: [INFO] [stdout] - impl num_traits::int::PrimInt for i128; [INFO] [stdout] - impl num_traits::int::PrimInt for i16; [INFO] [stdout] - impl num_traits::int::PrimInt for i32; [INFO] [stdout] - impl num_traits::int::PrimInt for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `rgep::point_mutate` [INFO] [stdout] --> /opt/rustwide/workdir/src/point_mutation.rs:78:14 [INFO] [stdout] | [INFO] [stdout] 78 | T: PrimInt { [INFO] [stdout] | ^^^^^^^ required by this bound in `rgep::point_mutate` [INFO] [stdout] help: consider specifying the type arguments in the function call [INFO] [stdout] | [INFO] [stdout] 234 | point_mutate::(&mut ind, 4, pm, &mut rng); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `rgep::Ind<{integer}>` [INFO] [stdout] --> benches/bench.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 246 | let ind1 = Ind(iter::repeat(0x0).take(n).collect()); [INFO] [stdout] | ---- consider giving `ind1` the explicit type `rgep::Ind<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 253 | cross_at_points(pair, 4, &cross_points); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: num_traits::int::PrimInt` found in the `num_traits` crate: [INFO] [stdout] - impl num_traits::int::PrimInt for i128; [INFO] [stdout] - impl num_traits::int::PrimInt for i16; [INFO] [stdout] - impl num_traits::int::PrimInt for i32; [INFO] [stdout] - impl num_traits::int::PrimInt for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `rgep::cross_at_points` [INFO] [stdout] --> /opt/rustwide/workdir/src/crossover.rs:140:14 [INFO] [stdout] | [INFO] [stdout] 140 | where T: PrimInt + FromPrimitive + ToPrimitive { [INFO] [stdout] | ^^^^^^^ required by this bound in `rgep::cross_at_points` [INFO] [stdout] help: consider specifying the type argument in the function call [INFO] [stdout] | [INFO] [stdout] 253 | cross_at_points::(pair, 4, &cross_points); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `rgep::Ind<{integer}>` [INFO] [stdout] --> benches/bench.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 246 | let ind1 = Ind(iter::repeat(0x0).take(n).collect()); [INFO] [stdout] | ---- consider giving `ind1` the explicit type `rgep::Ind<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 253 | cross_at_points(pair, 4, &cross_points); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: num_traits::cast::FromPrimitive` found in the `num_traits` crate: [INFO] [stdout] - impl num_traits::cast::FromPrimitive for i128; [INFO] [stdout] - impl num_traits::cast::FromPrimitive for i16; [INFO] [stdout] - impl num_traits::cast::FromPrimitive for i32; [INFO] [stdout] - impl num_traits::cast::FromPrimitive for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `rgep::cross_at_points` [INFO] [stdout] --> /opt/rustwide/workdir/src/crossover.rs:140:24 [INFO] [stdout] | [INFO] [stdout] 140 | where T: PrimInt + FromPrimitive + ToPrimitive { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `rgep::cross_at_points` [INFO] [stdout] help: consider specifying the type argument in the function call [INFO] [stdout] | [INFO] [stdout] 253 | cross_at_points::(pair, 4, &cross_points); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `rgep::Ind<{integer}>` [INFO] [stdout] --> benches/bench.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 258 | let ind1 = Ind(iter::repeat(0x0).take(n).collect()); [INFO] [stdout] | ---- consider giving `ind1` the explicit type `rgep::Ind<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 265 | cross_at_points(pair, 4, &cross_points); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: num_traits::int::PrimInt` found in the `num_traits` crate: [INFO] [stdout] - impl num_traits::int::PrimInt for i128; [INFO] [stdout] - impl num_traits::int::PrimInt for i16; [INFO] [stdout] - impl num_traits::int::PrimInt for i32; [INFO] [stdout] - impl num_traits::int::PrimInt for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `rgep::cross_at_points` [INFO] [stdout] --> /opt/rustwide/workdir/src/crossover.rs:140:14 [INFO] [stdout] | [INFO] [stdout] 140 | where T: PrimInt + FromPrimitive + ToPrimitive { [INFO] [stdout] | ^^^^^^^ required by this bound in `rgep::cross_at_points` [INFO] [stdout] help: consider specifying the type argument in the function call [INFO] [stdout] | [INFO] [stdout] 265 | cross_at_points::(pair, 4, &cross_points); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `rgep::Ind<{integer}>` [INFO] [stdout] --> benches/bench.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 258 | let ind1 = Ind(iter::repeat(0x0).take(n).collect()); [INFO] [stdout] | ---- consider giving `ind1` the explicit type `rgep::Ind<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 265 | cross_at_points(pair, 4, &cross_points); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: num_traits::cast::FromPrimitive` found in the `num_traits` crate: [INFO] [stdout] - impl num_traits::cast::FromPrimitive for i128; [INFO] [stdout] - impl num_traits::cast::FromPrimitive for i16; [INFO] [stdout] - impl num_traits::cast::FromPrimitive for i32; [INFO] [stdout] - impl num_traits::cast::FromPrimitive for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `rgep::cross_at_points` [INFO] [stdout] --> /opt/rustwide/workdir/src/crossover.rs:140:24 [INFO] [stdout] | [INFO] [stdout] 140 | where T: PrimInt + FromPrimitive + ToPrimitive { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `rgep::cross_at_points` [INFO] [stdout] help: consider specifying the type argument in the function call [INFO] [stdout] | [INFO] [stdout] 265 | cross_at_points::(pair, 4, &cross_points); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: a value of type `&Vec` cannot be built from an iterator over elements of type `f64` [INFO] [stdout] --> benches/bench.rs:291:50 [INFO] [stdout] | [INFO] [stdout] 291 | let fitnesses = (0..n).map(|f| f as f64).collect(); [INFO] [stdout] | ^^^^^^^ value of type `&Vec` cannot be built from `std::iter::Iterator` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromIterator` is not implemented for `&Vec` [INFO] [stdout] note: required by a bound in `collect` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: a value of type `&Vec` cannot be built from an iterator over elements of type `f64` [INFO] [stdout] --> benches/bench.rs:301:50 [INFO] [stdout] | [INFO] [stdout] 301 | let fitnesses = (0..n).map(|f| f as f64).collect(); [INFO] [stdout] | ^^^^^^^ value of type `&Vec` cannot be built from `std::iter::Iterator` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromIterator` is not implemented for `&Vec` [INFO] [stdout] note: required by a bound in `collect` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 20 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0283. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rgep` due to 21 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "71ac5cb7e4ddcfb04a60ff6190eafaeb2ba8c8f42fd98b04c9bb9a2f0a4afe09", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "71ac5cb7e4ddcfb04a60ff6190eafaeb2ba8c8f42fd98b04c9bb9a2f0a4afe09", kill_on_drop: false }` [INFO] [stdout] 71ac5cb7e4ddcfb04a60ff6190eafaeb2ba8c8f42fd98b04c9bb9a2f0a4afe09