[INFO] fetching crate oxineat 0.3.2...
[INFO] testing oxineat-0.3.2 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate oxineat 0.3.2 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate oxineat 0.3.2
[INFO] finished tweaking crates.io crate oxineat 0.3.2
[INFO] tweaked toml for crates.io crate oxineat 0.3.2 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oxineat 0.3.2 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 26 packages to latest compatible versions
[INFO] [stderr]       Adding ahash v0.7.8 (available: v0.8.12)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded oxineat v0.3.2
[INFO] [stderr]   Downloaded oxineat-nn v0.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d452944512eddaec86951dcd5eb5a61e4a52134bcb6b17b05e282f49da2f194e
[INFO] running `Command { std: "docker" "start" "-a" "d452944512eddaec86951dcd5eb5a61e4a52134bcb6b17b05e282f49da2f194e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d452944512eddaec86951dcd5eb5a61e4a52134bcb6b17b05e282f49da2f194e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d452944512eddaec86951dcd5eb5a61e4a52134bcb6b17b05e282f49da2f194e", kill_on_drop: false }`
[INFO] [stdout] d452944512eddaec86951dcd5eb5a61e4a52134bcb6b17b05e282f49da2f194e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 87a03317cd301ff1d3eb46f040db4229ce6a09377e58ca1f15cc719933374099
[INFO] running `Command { std: "docker" "start" "-a" "87a03317cd301ff1d3eb46f040db4229ce6a09377e58ca1f15cc719933374099", kill_on_drop: false }`
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling oxineat v0.3.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `population_config`
[INFO] [stdout]   --> src/populations/rt_population.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         population_config: PopulationConfig,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_population_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `genetic_config`
[INFO] [stdout]   --> src/populations/rt_population.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         genetic_config: C,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_genetic_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]   --> src/populations/rt_population.rs:43:54
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn remove_genomes<const N: usize>(&mut self, tokens: &[GenomeToken; N]) -> Option<G> {
[INFO] [stdout]    |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]   --> src/populations/rt_population.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         tokens: &[GenomeToken; N],
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/populations/rt_population.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         f: F,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/populations/rt_population.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         p: P,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent1`
[INFO] [stdout]   --> src/populations/rt_population.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         parent1: GenomeToken,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent2`
[INFO] [stdout]   --> src/populations/rt_population.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         parent2: GenomeToken,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/populations/rt_population.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         p: P,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenomeToken` is never constructed
[INFO] [stdout]   --> src/populations/rt_population.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GenomeToken {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RealTimePopulation` is never constructed
[INFO] [stdout]   --> src/populations/rt_population.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct RealTimePopulation<C, H, G> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/populations/rt_population.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | / impl<C, H, G> RealTimePopulation<C, H, G>
[INFO] [stdout] 30 | | where
[INFO] [stdout] 31 | |     G: Genome<InnovationHistory = H, Config = C> + Clone,
[INFO] [stdout]    | |_________________________________________________________- associated items in this implementation
[INFO] [stdout] 32 |   {
[INFO] [stdout] 33 |       pub fn new(
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |       pub fn remove_genomes<const N: usize>(&mut self, tokens: &[GenomeToken; N]) -> Option<G> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |       pub fn replace_genomes<F, P, T, const N: usize>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |       pub fn add_child<P, T>(
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |       pub fn reset(&mut self)
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |       pub fn get(&self, token: GenomeToken) -> Option<&G> {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |       pub fn genomes(&self) -> impl Iterator<Item = &G> {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |       pub fn species(&self) -> impl Iterator<Item = &Species<G>> {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |       pub fn history(&self) -> &H
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.72s
[INFO] running `Command { std: "docker" "inspect" "87a03317cd301ff1d3eb46f040db4229ce6a09377e58ca1f15cc719933374099", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87a03317cd301ff1d3eb46f040db4229ce6a09377e58ca1f15cc719933374099", kill_on_drop: false }`
[INFO] [stdout] 87a03317cd301ff1d3eb46f040db4229ce6a09377e58ca1f15cc719933374099
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6356a40d172411ce288e66001d0d2ba9a897457df9156f2a6a014663bb2932a3
[INFO] running `Command { std: "docker" "start" "-a" "6356a40d172411ce288e66001d0d2ba9a897457df9156f2a6a014663bb2932a3", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling oxineat v0.3.2
[INFO] [stdout] warning: unused variable: `population_config`
[INFO] [stdout]   --> src/populations/rt_population.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         population_config: PopulationConfig,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_population_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `genetic_config`
[INFO] [stdout]   --> src/populations/rt_population.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         genetic_config: C,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_genetic_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]   --> src/populations/rt_population.rs:43:54
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn remove_genomes<const N: usize>(&mut self, tokens: &[GenomeToken; N]) -> Option<G> {
[INFO] [stdout]    |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]   --> src/populations/rt_population.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         tokens: &[GenomeToken; N],
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/populations/rt_population.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         f: F,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/populations/rt_population.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         p: P,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent1`
[INFO] [stdout]   --> src/populations/rt_population.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         parent1: GenomeToken,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent2`
[INFO] [stdout]   --> src/populations/rt_population.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         parent2: GenomeToken,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/populations/rt_population.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         p: P,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenomeToken` is never constructed
[INFO] [stdout]   --> src/populations/rt_population.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GenomeToken {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RealTimePopulation` is never constructed
[INFO] [stdout]   --> src/populations/rt_population.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct RealTimePopulation<C, H, G> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/populations/rt_population.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | / impl<C, H, G> RealTimePopulation<C, H, G>
[INFO] [stdout] 30 | | where
[INFO] [stdout] 31 | |     G: Genome<InnovationHistory = H, Config = C> + Clone,
[INFO] [stdout]    | |_________________________________________________________- associated items in this implementation
[INFO] [stdout] 32 |   {
[INFO] [stdout] 33 |       pub fn new(
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |       pub fn remove_genomes<const N: usize>(&mut self, tokens: &[GenomeToken; N]) -> Option<G> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |       pub fn replace_genomes<F, P, T, const N: usize>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |       pub fn add_child<P, T>(
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |       pub fn reset(&mut self)
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |       pub fn get(&self, token: GenomeToken) -> Option<&G> {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |       pub fn genomes(&self) -> impl Iterator<Item = &G> {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |       pub fn species(&self) -> impl Iterator<Item = &Species<G>> {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |       pub fn history(&self) -> &H
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling oxineat-nn v0.1.1
[INFO] [stderr]    Compiling oxineat v0.3.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `population_config`
[INFO] [stdout]   --> src/populations/rt_population.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         population_config: PopulationConfig,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_population_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `genetic_config`
[INFO] [stdout]   --> src/populations/rt_population.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         genetic_config: C,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_genetic_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]   --> src/populations/rt_population.rs:43:54
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn remove_genomes<const N: usize>(&mut self, tokens: &[GenomeToken; N]) -> Option<G> {
[INFO] [stdout]    |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]   --> src/populations/rt_population.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         tokens: &[GenomeToken; N],
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/populations/rt_population.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         f: F,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/populations/rt_population.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         p: P,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent1`
[INFO] [stdout]   --> src/populations/rt_population.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         parent1: GenomeToken,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent2`
[INFO] [stdout]   --> src/populations/rt_population.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         parent2: GenomeToken,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/populations/rt_population.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         p: P,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenomeToken` is never constructed
[INFO] [stdout]   --> src/populations/rt_population.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GenomeToken {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RealTimePopulation` is never constructed
[INFO] [stdout]   --> src/populations/rt_population.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct RealTimePopulation<C, H, G> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/populations/rt_population.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | / impl<C, H, G> RealTimePopulation<C, H, G>
[INFO] [stdout] 30 | | where
[INFO] [stdout] 31 | |     G: Genome<InnovationHistory = H, Config = C> + Clone,
[INFO] [stdout]    | |_________________________________________________________- associated items in this implementation
[INFO] [stdout] 32 |   {
[INFO] [stdout] 33 |       pub fn new(
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |       pub fn remove_genomes<const N: usize>(&mut self, tokens: &[GenomeToken; N]) -> Option<G> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |       pub fn replace_genomes<F, P, T, const N: usize>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |       pub fn add_child<P, T>(
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |       pub fn reset(&mut self)
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |       pub fn get(&self, token: GenomeToken) -> Option<&G> {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |       pub fn genomes(&self) -> impl Iterator<Item = &G> {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |       pub fn species(&self) -> impl Iterator<Item = &Species<G>> {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |       pub fn history(&self) -> &H
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.19s
[INFO] running `Command { std: "docker" "inspect" "6356a40d172411ce288e66001d0d2ba9a897457df9156f2a6a014663bb2932a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6356a40d172411ce288e66001d0d2ba9a897457df9156f2a6a014663bb2932a3", kill_on_drop: false }`
[INFO] [stdout] 6356a40d172411ce288e66001d0d2ba9a897457df9156f2a6a014663bb2932a3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8cdf786ef61e9dd6292d445b5f961fb86e7198da3fa5b0ee3947bee2572a5b03
[INFO] running `Command { std: "docker" "start" "-a" "8cdf786ef61e9dd6292d445b5f961fb86e7198da3fa5b0ee3947bee2572a5b03", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `population_config`
[INFO] [stderr]   --> src/populations/rt_population.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |         population_config: PopulationConfig,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_population_config`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `genetic_config`
[INFO] [stderr]   --> src/populations/rt_population.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |         genetic_config: C,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_genetic_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tokens`
[INFO] [stderr]   --> src/populations/rt_population.rs:43:54
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub fn remove_genomes<const N: usize>(&mut self, tokens: &[GenomeToken; N]) -> Option<G> {
[INFO] [stderr]    |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tokens`
[INFO] [stderr]   --> src/populations/rt_population.rs:49:9
[INFO] [stderr]    |
[INFO] [stderr] 49 |         tokens: &[GenomeToken; N],
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `f`
[INFO] [stderr]   --> src/populations/rt_population.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |         f: F,
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p`
[INFO] [stderr]   --> src/populations/rt_population.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 51 |         p: P,
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parent1`
[INFO] [stderr]   --> src/populations/rt_population.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 62 |         parent1: GenomeToken,
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parent2`
[INFO] [stderr]   --> src/populations/rt_population.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 63 |         parent2: GenomeToken,
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p`
[INFO] [stderr]   --> src/populations/rt_population.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 64 |         p: P,
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GenomeToken` is never constructed
[INFO] [stderr]   --> src/populations/rt_population.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct GenomeToken {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RealTimePopulation` is never constructed
[INFO] [stderr]   --> src/populations/rt_population.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub struct RealTimePopulation<C, H, G> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/populations/rt_population.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | / impl<C, H, G> RealTimePopulation<C, H, G>
[INFO] [stderr] 30 | | where
[INFO] [stderr] 31 | |     G: Genome<InnovationHistory = H, Config = C> + Clone,
[INFO] [stderr]    | |_________________________________________________________- associated items in this implementation
[INFO] [stderr] 32 |   {
[INFO] [stderr] 33 |       pub fn new(
[INFO] [stderr]    |              ^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |       pub fn remove_genomes<const N: usize>(&mut self, tokens: &[GenomeToken; N]) -> Option<G> {
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 47 |       pub fn replace_genomes<F, P, T, const N: usize>(
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 60 |       pub fn add_child<P, T>(
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |       pub fn reset(&mut self)
[INFO] [stderr]    |              ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 |       pub fn get(&self, token: GenomeToken) -> Option<&G> {
[INFO] [stderr]    |              ^^^
[INFO] [stderr] ...
[INFO] [stderr] 88 |       pub fn genomes(&self) -> impl Iterator<Item = &G> {
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 92 |       pub fn species(&self) -> impl Iterator<Item = &Species<G>> {
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 96 |       pub fn history(&self) -> &H
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `oxineat` (lib) generated 12 warnings (run `cargo fix --lib -p oxineat` to apply 9 suggestions)
[INFO] [stderr] warning: `oxineat` (lib test) generated 12 warnings (12 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oxineat-824fd6f37cc41e96)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test populations::tests::round_retain_sum ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests oxineat
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::genomes (line 514) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::evaluate_fitness (line 180) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::species (line 533) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::generation (line 556) ... FAILED
[INFO] [stdout] test src/populations/logging.rs - populations::logging::EvolutionLogger<G>::new (line 125) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::new (line 44) ... FAILED
[INFO] [stdout] test src/populations/config.rs - populations::config::PopulationConfig::zero (line 60) ... ok
[INFO] [stdout] test src/populations/logging.rs - populations::logging::EvolutionLogger<G>::iter (line 210) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::reset (line 451) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::evolve (line 236) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 17) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::new_seeded (line 95) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::champion (line 477) ... FAILED
[INFO] [stdout] test src/populations/species.rs - populations::species::Species<G>::champion (line 227) ... FAILED
[INFO] [stdout] test src/populations/species.rs - populations::species::Species<G>::add_genome (line 109) ... FAILED
[INFO] [stdout] test src/populations/logging.rs - populations::logging::EvolutionLogger<G>::log (line 146) ... FAILED
[INFO] [stdout] test src/populations/species.rs - populations::species::Species<G>::time_stagnated (line 185) ... FAILED
[INFO] [stdout] test src/populations/species.rs - populations::species::Species<G>::id (line 70) ... FAILED
[INFO] [stdout] test src/populations/species.rs - populations::species::Species<G>::new (line 46) ... FAILED
[INFO] [stdout] test src/populations/species.rs - populations::species::Species<G>::adjusted_fitness (line 153) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::history (line 573) ... FAILED
[INFO] [stdout] test src/populations/species.rs - populations::species::Species<G>::genomes (line 205) ... FAILED
[INFO] [stdout] test src/populations/species.rs - populations::species::Species<G>::representative (line 90) ... FAILED
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout] test src/populations/logging.rs - populations::logging::Stats::from (line 62) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/populations.rs - populations::Population<C,H,G>::genomes (line 514) stdout ----
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `Population<_, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations.rs:521:41
[INFO] [stdout]     |
[INFO] [stdout] 521 | let population = Population::<_, _, G>::new(PopulationConfig::zero(), genetic_config);
[INFO] [stdout]     |                                         ^^^ function or associated item cannot be called on `Population<_, _, NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations.rs - populations::Population<C,H,G>::evaluate_fitness (line 180) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]    --> src/populations.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 | population.evaluate_fitness(|g| {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ---------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::evaluate_fitness`
[INFO] [stdout]    --> src/populations.rs:34:8
[INFO] [stdout]     |
[INFO] [stdout]  34 |     G: Genome<InnovationHistory = H, Config = C> + Clone,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Population::<C, H, G>::evaluate_fitness`
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn evaluate_fitness<E>(&mut self, mut evaluator: E)
[INFO] [stdout]     |            ---------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]    --> src/populations.rs:187:22
[INFO] [stdout]     |
[INFO] [stdout] 187 |   let mut population = Population::new(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 188 | |     PopulationConfig::zero(),
[INFO] [stdout] 189 | |     genetic_config,
[INFO] [stdout] 190 | | );
[INFO] [stdout]     | |_^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ---------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::new`
[INFO] [stdout]    --> src/populations.rs:34:8
[INFO] [stdout]     |
[INFO] [stdout]  34 |     G: Genome<InnovationHistory = H, Config = C> + Clone,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Population::<C, H, G>::new`
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn new(population_config: PopulationConfig, genetic_config: C) -> Population<C, H, G>
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations.rs - populations::Population<C,H,G>::species (line 533) stdout ----
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `Population<_, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations.rs:540:41
[INFO] [stdout]     |
[INFO] [stdout] 540 | let population = Population::<_, _, G>::new(PopulationConfig::zero(), genetic_config);
[INFO] [stdout]     |                                         ^^^ function or associated item cannot be called on `Population<_, _, NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/populations.rs:545:9
[INFO] [stdout]     |
[INFO] [stdout] 545 |         species.id(),
[INFO] [stdout]     |         ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations.rs - populations::Population<C,H,G>::generation (line 556) stdout ----
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `Population<_, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations.rs:563:41
[INFO] [stdout]     |
[INFO] [stdout] 563 | let population = Population::<_, _, G>::new(PopulationConfig::zero(), genetic_config);
[INFO] [stdout]     |                                         ^^^ function or associated item cannot be called on `Population<_, _, NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations/logging.rs - populations::logging::EvolutionLogger<G>::new (line 125) stdout ----
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `EvolutionLogger<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/logging.rs:131:36
[INFO] [stdout]     |
[INFO] [stdout] 131 | let logger = EvolutionLogger::<G>::new(ReportingLevel::NoGenomes);
[INFO] [stdout]     |                                    ^^^ function or associated item cannot be called on `EvolutionLogger<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations.rs - populations::Population<C,H,G>::new (line 44) stdout ----
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `Population<_, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations.rs:56:41
[INFO] [stdout]    |
[INFO] [stdout] 56 | let population = Population::<_, _, G>::new(pop_config, genetic_config);
[INFO] [stdout]    |                                         ^^^ function or associated item cannot be called on `Population<_, _, NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct NNGenome {
[INFO] [stdout]    | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations/logging.rs - populations::logging::EvolutionLogger<G>::iter (line 210) stdout ----
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `EvolutionLogger<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/logging.rs:216:36
[INFO] [stdout]     |
[INFO] [stdout] 216 | let logger = EvolutionLogger::<G>::new(ReportingLevel::AllGenomes);
[INFO] [stdout]     |                                    ^^^ function or associated item cannot be called on `EvolutionLogger<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations.rs - populations::Population<C,H,G>::reset (line 451) stdout ----
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `Population<_, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations.rs:458:45
[INFO] [stdout]     |
[INFO] [stdout] 458 | let mut population = Population::<_, _, G>::new(
[INFO] [stdout]     |                                             ^^^ function or associated item cannot be called on `Population<_, _, NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations.rs - populations::Population<C,H,G>::evolve (line 236) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]    --> src/populations.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 252 | population.evaluate_fitness(|g| {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ---------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::evaluate_fitness`
[INFO] [stdout]    --> src/populations.rs:34:8
[INFO] [stdout]     |
[INFO] [stdout]  34 |     G: Genome<InnovationHistory = H, Config = C> + Clone,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Population::<C, H, G>::evaluate_fitness`
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn evaluate_fitness<E>(&mut self, mut evaluator: E)
[INFO] [stdout]     |            ---------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]    --> src/populations.rs:244:22
[INFO] [stdout]     |
[INFO] [stdout] 244 |   let mut population = Population::new(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 245 | |     PopulationConfig {
[INFO] [stdout] 246 | |         survival_threshold: 1.0,
[INFO] [stdout] 247 | |         ..PopulationConfig::zero()
[INFO] [stdout] 248 | |     },
[INFO] [stdout] 249 | |     genetic_config,
[INFO] [stdout] 250 | | );
[INFO] [stdout]     | |_^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ---------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::new`
[INFO] [stdout]    --> src/populations.rs:34:8
[INFO] [stdout]     |
[INFO] [stdout]  34 |     G: Genome<InnovationHistory = H, Config = C> + Clone,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Population::<C, H, G>::new`
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn new(population_config: PopulationConfig, genetic_config: C) -> Population<C, H, G>
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `evolve` exists for struct `Population<GeneticConfig, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations.rs:260:28
[INFO] [stdout]     |
[INFO] [stdout] 260 | if let Err(e) = population.evolve() {
[INFO] [stdout]     |                            ^^^^^^ method cannot be called on `Population<GeneticConfig, _, NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 17) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]    --> src/lib.rs:89:20
[INFO] [stdout]     |
[INFO] [stdout]  89 |         population.evaluate_fitness(evaluate_xor);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ---------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::evaluate_fitness`
[INFO] [stdout]    --> src/populations.rs:34:8
[INFO] [stdout]     |
[INFO] [stdout]  34 |     G: Genome<InnovationHistory = H, Config = C> + Clone,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Population::<C, H, G>::evaluate_fitness`
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn evaluate_fitness<E>(&mut self, mut evaluator: E)
[INFO] [stdout]     |            ---------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]   --> src/lib.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut population = Population::new(population_config, genetic_config);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub trait Genome {
[INFO] [stdout]    | ---------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::new`
[INFO] [stdout]   --> src/populations.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 |     G: Genome<InnovationHistory = H, Config = C> + Clone,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Population::<C, H, G>::new`
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn new(population_config: PopulationConfig, genetic_config: C) -> Population<C, H, G>
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `champion` exists for struct `Population<GeneticConfig, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:90:24
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if (population.champion().fitness() - 16.0).abs() < f32::EPSILON {
[INFO] [stdout]    |                        ^^^^^^^^ method cannot be called on `Population<GeneticConfig, _, NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct NNGenome {
[INFO] [stdout]    | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `champion` exists for struct `Population<GeneticConfig, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:91:79
[INFO] [stdout]    |
[INFO] [stdout] 91 |             println!("Solution found!: {}", serde_json::to_string(&population.champion()).unwrap());
[INFO] [stdout]    |                                                                               ^^^^^^^^ method cannot be called on `Population<GeneticConfig, _, NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct NNGenome {
[INFO] [stdout]    | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `evolve` exists for struct `Population<GeneticConfig, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:94:36
[INFO] [stdout]    |
[INFO] [stdout] 94 |         if let Err(e) = population.evolve() {
[INFO] [stdout]    |                                    ^^^^^^ method cannot be called on `Population<GeneticConfig, _, NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct NNGenome {
[INFO] [stdout]    | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations.rs - populations::Population<C,H,G>::new_seeded (line 95) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]    --> src/populations.rs:114:41
[INFO] [stdout]     |
[INFO] [stdout] 114 | let population = Population::new_seeded(vec![vec![g1, g2], vec![g3]], pop_config, genetic_config).unwrap();
[INFO] [stdout]     |                  ---------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ---------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::new_seeded`
[INFO] [stdout]    --> src/populations.rs:34:8
[INFO] [stdout]     |
[INFO] [stdout]  34 |     G: Genome<InnovationHistory = H, Config = C> + Clone,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Population::<C, H, G>::new_seeded`
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn new_seeded(
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `species` exists for struct `Population<GeneticConfig, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations.rs:116:23
[INFO] [stdout]     |
[INFO] [stdout] 116 | assert_eq!(population.species().count(), 3);
[INFO] [stdout]     |                       ^^^^^^^ private field, not a method
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `species` exists for struct `Population<GeneticConfig, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations.rs:117:23
[INFO] [stdout]     |
[INFO] [stdout] 117 | assert_eq!(population.species().map(|s| s.genomes().count()).collect::<Vec<_>>(), vec![97, 2, 1]);
[INFO] [stdout]     |                       ^^^^^^^ private field, not a method
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/populations.rs:117:38
[INFO] [stdout]     |
[INFO] [stdout] 117 | assert_eq!(population.species().map(|s| s.genomes().count()).collect::<Vec<_>>(), vec![97, 2, 1]);
[INFO] [stdout]     |                                      ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 117 | assert_eq!(population.species().map(|s: /* Type */| s.genomes().count()).collect::<Vec<_>>(), vec![97, 2, 1]);
[INFO] [stdout]     |                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations.rs - populations::Population<C,H,G>::champion (line 477) stdout ----
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `Population<_, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations.rs:484:45
[INFO] [stdout]     |
[INFO] [stdout] 484 | let mut population = Population::<_, _, G>::new(
[INFO] [stdout]     |                                             ^^^ function or associated item cannot be called on `Population<_, _, NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations/species.rs - populations::species::Species<G>::champion (line 227) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]    --> src/populations/species.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 240 | let mut species = Species::new(
[INFO] [stdout]     |                   ------------ required by a bound introduced by this call
[INFO] [stdout] 241 |     SpeciesID(1, 0),
[INFO] [stdout] 242 |     g1,
[INFO] [stdout]     |     ^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ---------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]    --> src/populations/species.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl<G: Genome + Clone> Species<G> {
[INFO] [stdout]     |         ^^^^^^ required by this bound in `Species::<G>::new`
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn new(id: SpeciesID, representative: G) -> Species<G> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `add_genome` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/species.rs:244:9
[INFO] [stdout]     |
[INFO] [stdout] 244 | species.add_genome(g2.clone());
[INFO] [stdout]     |         ^^^^^^^^^^ method cannot be called on `oxineat::Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `add_genome` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/species.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 | species.add_genome(g3);
[INFO] [stdout]     |         ^^^^^^^^^^ method cannot be called on `oxineat::Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `champion` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/species.rs:248:20
[INFO] [stdout]     |
[INFO] [stdout] 248 | assert_eq!(species.champion(), &g2);
[INFO] [stdout]     |                    ^^^^^^^^ method cannot be called on `oxineat::Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations/species.rs - populations::species::Species<G>::add_genome (line 109) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]    --> src/populations/species.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | let mut species = Species::new(
[INFO] [stdout]     |                   ------------ required by a bound introduced by this call
[INFO] [stdout] 119 |     SpeciesID(1, 0),
[INFO] [stdout] 120 |     representative,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ---------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]    --> src/populations/species.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl<G: Genome + Clone> Species<G> {
[INFO] [stdout]     |         ^^^^^^ required by this bound in `Species::<G>::new`
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn new(id: SpeciesID, representative: G) -> Species<G> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `add_genome` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/species.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 | species.add_genome(genome.clone());
[INFO] [stdout]     |         ^^^^^^^^^^ method cannot be called on `oxineat::Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `genomes` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/species.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 | assert!(species.genomes().find(|g| *g == &genome).is_some());
[INFO] [stdout]     |                 ^^^^^^^ private field, not a method
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations/logging.rs - populations::logging::EvolutionLogger<G>::log (line 146) stdout ----
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `EvolutionLogger<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/logging.rs:153:40
[INFO] [stdout]     |
[INFO] [stdout] 153 | let mut logger = EvolutionLogger::<G>::new(ReportingLevel::NoGenomes);
[INFO] [stdout]     |                                        ^^^ function or associated item cannot be called on `EvolutionLogger<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/populations/logging.rs:159:27
[INFO] [stdout]     |
[INFO] [stdout] 159 | logger.log(&population, &|g| [g.fitness()], ["fitness"]);
[INFO] [stdout]     |                           ^   - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 159 | logger.log(&population, &|g: /* Type */| [g.fitness()], ["fitness"]);
[INFO] [stdout]     |                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations/species.rs - populations::species::Species<G>::time_stagnated (line 185) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]    --> src/populations/species.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | let species = Species::new(
[INFO] [stdout]     |               ------------ required by a bound introduced by this call
[INFO] [stdout] 193 |     SpeciesID(1, 0),
[INFO] [stdout] 194 |     representative,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ---------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]    --> src/populations/species.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl<G: Genome + Clone> Species<G> {
[INFO] [stdout]     |         ^^^^^^ required by this bound in `Species::<G>::new`
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn new(id: SpeciesID, representative: G) -> Species<G> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `time_stagnated` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/species.rs:197:24
[INFO] [stdout]     |
[INFO] [stdout] 197 | println!("{}", species.time_stagnated());
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^ method cannot be called on `oxineat::Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations/species.rs - populations::species::Species<G>::id (line 70) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]   --> src/populations/species.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | let species = Species::new(
[INFO] [stdout]    |               ------------ required by a bound introduced by this call
[INFO] [stdout] 78 |     SpeciesID(1, 0),
[INFO] [stdout] 79 |     representative,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub trait Genome {
[INFO] [stdout]    | ---------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]   --> src/populations/species.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<G: Genome + Clone> Species<G> {
[INFO] [stdout]    |         ^^^^^^ required by this bound in `Species::<G>::new`
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn new(id: SpeciesID, representative: G) -> Species<G> {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `id` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:82:20
[INFO] [stdout]    |
[INFO] [stdout] 82 | assert_eq!(species.id(), SpeciesID(1, 0));
[INFO] [stdout]    |                    ^^ private field, not a method
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct NNGenome {
[INFO] [stdout]    | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations/species.rs - populations::species::Species<G>::new (line 46) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]   --> src/populations/species.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | let species = Species::new(
[INFO] [stdout]    |               ------------ required by a bound introduced by this call
[INFO] [stdout] 54 |     SpeciesID(1, 0),
[INFO] [stdout] 55 |     representative,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub trait Genome {
[INFO] [stdout]    | ---------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]   --> src/populations/species.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<G: Genome + Clone> Species<G> {
[INFO] [stdout]    |         ^^^^^^ required by this bound in `Species::<G>::new`
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn new(id: SpeciesID, representative: G) -> Species<G> {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations/species.rs - populations::species::Species<G>::adjusted_fitness (line 153) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]    --> src/populations/species.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | let mut species = Species::new(
[INFO] [stdout]     |                   ------------ required by a bound introduced by this call
[INFO] [stdout] 164 |     SpeciesID(1, 0),
[INFO] [stdout] 165 |     representative,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ---------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]    --> src/populations/species.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl<G: Genome + Clone> Species<G> {
[INFO] [stdout]     |         ^^^^^^ required by this bound in `Species::<G>::new`
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn new(id: SpeciesID, representative: G) -> Species<G> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `add_genome` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/species.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 | species.add_genome(g1);
[INFO] [stdout]     |         ^^^^^^^^^^ method cannot be called on `oxineat::Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `add_genome` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/species.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 | species.add_genome(g2);
[INFO] [stdout]     |         ^^^^^^^^^^ method cannot be called on `oxineat::Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `adjusted_fitness` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/species.rs:176:20
[INFO] [stdout]     |
[INFO] [stdout] 176 | assert_eq!(species.adjusted_fitness(), (0.0 + 20.0 + 30.0) / 3.0);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ method cannot be called on `oxineat::Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations.rs - populations::Population<C,H,G>::history (line 573) stdout ----
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `Population<_, _, NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations.rs:580:41
[INFO] [stdout]     |
[INFO] [stdout] 580 | let population = Population::<_, _, G>::new(PopulationConfig::zero(), genetic_config);
[INFO] [stdout]     |                                         ^^^ function or associated item cannot be called on `Population<_, _, NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations/species.rs - populations::species::Species<G>::genomes (line 205) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]    --> src/populations/species.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 212 | let species = Species::new(
[INFO] [stdout]     |               ------------ required by a bound introduced by this call
[INFO] [stdout] 213 |     SpeciesID(1, 0),
[INFO] [stdout] 214 |     representative,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout]   2 | pub trait Genome {
[INFO] [stdout]     | ---------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]    --> src/populations/species.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl<G: Genome + Clone> Species<G> {
[INFO] [stdout]     |         ^^^^^^ required by this bound in `Species::<G>::new`
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn new(id: SpeciesID, representative: G) -> Species<G> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `genomes` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/species.rs:217:18
[INFO] [stdout]     |
[INFO] [stdout] 217 | for g in species.genomes() {
[INFO] [stdout]     |                  ^^^^^^^ private field, not a method
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/populations/species.rs - populations::species::Species<G>::representative (line 90) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `NNGenome: Genome` is not satisfied
[INFO] [stdout]   --> src/populations/species.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 97 | let species = Species::new(
[INFO] [stdout]    |               ------------ required by a bound introduced by this call
[INFO] [stdout] 98 |     SpeciesID(1, 0),
[INFO] [stdout] 99 |     representative.clone(),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-0.3.2/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub trait Genome {
[INFO] [stdout]    | ---------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]   --> src/populations/species.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<G: Genome + Clone> Species<G> {
[INFO] [stdout]    |         ^^^^^^ required by this bound in `Species::<G>::new`
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn new(id: SpeciesID, representative: G) -> Species<G> {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `representative` exists for struct `oxineat::Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/populations/species.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 | assert_eq!(species.representative(), &representative);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^ private field, not a method
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oxineat-nn-0.1.1/src/genomics.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub struct NNGenome {
[INFO] [stdout]     | ------------------- doesn't satisfy `NNGenome: Genome`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `NNGenome: Genome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 17)
[INFO] [stdout]     src/populations.rs - populations::Population<C,H,G>::champion (line 477)
[INFO] [stdout]     src/populations.rs - populations::Population<C,H,G>::evaluate_fitness (line 180)
[INFO] [stdout]     src/populations.rs - populations::Population<C,H,G>::evolve (line 236)
[INFO] [stdout]     src/populations.rs - populations::Population<C,H,G>::generation (line 556)
[INFO] [stdout]     src/populations.rs - populations::Population<C,H,G>::genomes (line 514)
[INFO] [stdout]     src/populations.rs - populations::Population<C,H,G>::history (line 573)
[INFO] [stdout]     src/populations.rs - populations::Population<C,H,G>::new (line 44)
[INFO] [stdout]     src/populations.rs - populations::Population<C,H,G>::new_seeded (line 95)
[INFO] [stdout]     src/populations.rs - populations::Population<C,H,G>::reset (line 451)
[INFO] [stdout]     src/populations.rs - populations::Population<C,H,G>::species (line 533)
[INFO] [stdout]     src/populations/logging.rs - populations::logging::EvolutionLogger<G>::iter (line 210)
[INFO] [stdout]     src/populations/logging.rs - populations::logging::EvolutionLogger<G>::log (line 146)
[INFO] [stdout]     src/populations/logging.rs - populations::logging::EvolutionLogger<G>::new (line 125)
[INFO] [stdout]     src/populations/species.rs - populations::species::Species<G>::add_genome (line 109)
[INFO] [stdout]     src/populations/species.rs - populations::species::Species<G>::adjusted_fitness (line 153)
[INFO] [stdout]     src/populations/species.rs - populations::species::Species<G>::champion (line 227)
[INFO] [stdout]     src/populations/species.rs - populations::species::Species<G>::genomes (line 205)
[INFO] [stdout]     src/populations/species.rs - populations::species::Species<G>::id (line 70)
[INFO] [stdout]     src/populations/species.rs - populations::species::Species<G>::new (line 46)
[INFO] [stdout]     src/populations/species.rs - populations::species::Species<G>::representative (line 90)
[INFO] [stdout]     src/populations/species.rs - populations::species::Species<G>::time_stagnated (line 185)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 22 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.16s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8cdf786ef61e9dd6292d445b5f961fb86e7198da3fa5b0ee3947bee2572a5b03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8cdf786ef61e9dd6292d445b5f961fb86e7198da3fa5b0ee3947bee2572a5b03", kill_on_drop: false }`
[INFO] [stdout] 8cdf786ef61e9dd6292d445b5f961fb86e7198da3fa5b0ee3947bee2572a5b03
