[INFO] fetching crate oxineat 0.3.2...
[INFO] testing oxineat-0.3.2 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate oxineat 0.3.2 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate oxineat 0.3.2 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 23 packages to latest compatible versions
[INFO] [stderr]       Adding ahash v0.7.8 (latest: v0.8.11)
[INFO] [stderr]       Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.1+wasi-0.2.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0f1aecd007a27914737f808d3d4a035af6622d585da587ceccdb11de0e2c6e55
[INFO] running `Command { std: "docker" "start" "-a" "0f1aecd007a27914737f808d3d4a035af6622d585da587ceccdb11de0e2c6e55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f1aecd007a27914737f808d3d4a035af6622d585da587ceccdb11de0e2c6e55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f1aecd007a27914737f808d3d4a035af6622d585da587ceccdb11de0e2c6e55", kill_on_drop: false }`
[INFO] [stdout] 0f1aecd007a27914737f808d3d4a035af6622d585da587ceccdb11de0e2c6e55
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 76eaa36d6bbf2ab1d67aa9d2005343a79100f6cc4380754ed6b97208d0b79f8b
[INFO] running `Command { std: "docker" "start" "-a" "76eaa36d6bbf2ab1d67aa9d2005343a79100f6cc4380754ed6b97208d0b79f8b", kill_on_drop: false }`
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling once_cell v1.19.0
[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)]` 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 `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]    = note: `#[warn(dead_code)]` on by default
[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] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.61s
[INFO] running `Command { std: "docker" "inspect" "76eaa36d6bbf2ab1d67aa9d2005343a79100f6cc4380754ed6b97208d0b79f8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76eaa36d6bbf2ab1d67aa9d2005343a79100f6cc4380754ed6b97208d0b79f8b", kill_on_drop: false }`
[INFO] [stdout] 76eaa36d6bbf2ab1d67aa9d2005343a79100f6cc4380754ed6b97208d0b79f8b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 97afbe68dd08345e1e6f0e34a0afbc40dead828875de79de8268cca976cfb4ac
[INFO] running `Command { std: "docker" "start" "-a" "97afbe68dd08345e1e6f0e34a0afbc40dead828875de79de8268cca976cfb4ac", kill_on_drop: false }`
[INFO] [stderr]    Compiling oxineat v0.3.2
[INFO] [stderr]    Compiling serde_json v1.0.117
[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)]` 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 `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]    = note: `#[warn(dead_code)]` on by default
[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] [stdout] warning: 11 warnings emitted
[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)]` 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 `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]    = note: `#[warn(dead_code)]` on by default
[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] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.75s
[INFO] running `Command { std: "docker" "inspect" "97afbe68dd08345e1e6f0e34a0afbc40dead828875de79de8268cca976cfb4ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "97afbe68dd08345e1e6f0e34a0afbc40dead828875de79de8268cca976cfb4ac", kill_on_drop: false }`
[INFO] [stdout] 97afbe68dd08345e1e6f0e34a0afbc40dead828875de79de8268cca976cfb4ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7e2859b71b1ddfcb8dbe5710abfe32ab85743874a89d53e2249ee2c04851487c
[INFO] running `Command { std: "docker" "start" "-a" "7e2859b71b1ddfcb8dbe5710abfe32ab85743874a89d53e2249ee2c04851487c", 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)]` 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 `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]    = note: `#[warn(dead_code)]` on by default
[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 11 warnings
[INFO] [stderr] warning: `oxineat` (lib test) generated 11 warnings (11 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oxineat-64f4ae1c8bcbcfc6)
[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>::generation (line 556) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::new_seeded (line 95) ... FAILED
[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>::evaluate_fitness (line 180) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::history (line 573) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::new (line 44) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 17) ... FAILED
[INFO] [stdout] test src/populations/logging.rs - populations::logging::EvolutionLogger<G>::log (line 146) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::evolve (line 236) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::species (line 533) ... 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>::reset (line 451) ... 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>::add_genome (line 109) ... FAILED
[INFO] [stdout] test src/populations/species.rs - populations::species::Species<G>::representative (line 90) ... 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>::time_stagnated (line 185) ... 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>::new (line 46) ... 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>::adjusted_fitness (line 153) ... FAILED
[INFO] [stdout] test src/populations/config.rs - populations::config::PopulationConfig::zero (line 60) ... ok
[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] 10  | 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-6f17d22bba15001f/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: if you're trying to build a new `Population<_, _, NNGenome>` consider using one of the following associated functions:
[INFO] [stdout]       Population::<C, H, G>::new
[INFO] [stdout]       Population::<C, H, G>::new_seeded
[INFO] [stdout]    --> /opt/rustwide/workdir/src/populations.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout] 57  | /     pub fn new(population_config: PopulationConfig, genetic_config: C) -> Population<C, H, G>
[INFO] [stdout] 58  | |     where
[INFO] [stdout] 59  | |         H: InnovationHistory<Config = C>,
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 118 | /     pub fn new_seeded(
[INFO] [stdout] 119 | |         genomes: Vec<Vec<G>>,
[INFO] [stdout] 120 | |         population_config: PopulationConfig,
[INFO] [stdout] 121 | |         genetic_config: C,
[INFO] [stdout] 122 | |     ) -> Option<Population<C, H, G>>
[INFO] [stdout] 123 | |     where
[INFO] [stdout] 124 | |         H: InnovationHistory<Config = C>,
[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>::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] 10  | 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-6f17d22bba15001f/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: if you're trying to build a new `Population<_, _, NNGenome>` consider using one of the following associated functions:
[INFO] [stdout]       Population::<C, H, G>::new
[INFO] [stdout]       Population::<C, H, G>::new_seeded
[INFO] [stdout]    --> /opt/rustwide/workdir/src/populations.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout] 57  | /     pub fn new(population_config: PopulationConfig, genetic_config: C) -> Population<C, H, G>
[INFO] [stdout] 58  | |     where
[INFO] [stdout] 59  | |         H: InnovationHistory<Config = C>,
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 118 | /     pub fn new_seeded(
[INFO] [stdout] 119 | |         genomes: Vec<Vec<G>>,
[INFO] [stdout] 120 | |         population_config: PopulationConfig,
[INFO] [stdout] 121 | |         genetic_config: C,
[INFO] [stdout] 122 | |     ) -> Option<Population<C, H, G>>
[INFO] [stdout] 123 | |     where
[INFO] [stdout] 124 | |         H: InnovationHistory<Config = C>,
[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_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] 22  | 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: required by a bound in `Population::<C, H, G>::new_seeded`
[INFO] [stdout]    --> /opt/rustwide/workdir/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] 24 | 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-6f17d22bba15001f/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] 25 | 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-6f17d22bba15001f/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>::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] 9   | 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-6f17d22bba15001f/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: if you're trying to build a new `EvolutionLogger<NNGenome>`, consider using `EvolutionLogger::<G>::new` which returns `EvolutionLogger<_>`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/populations/logging.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn new(reporting_level: ReportingLevel) -> EvolutionLogger<G> {
[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] 15  | population.evaluate_fitness(|g| {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::evaluate_fitness`
[INFO] [stdout]    --> /opt/rustwide/workdir/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] 10 |   let mut population = Population::new(
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 11 | |     PopulationConfig::zero(),
[INFO] [stdout] 12 | |     genetic_config,
[INFO] [stdout] 13 | | );
[INFO] [stdout]    | |_^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/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>::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] 10  | 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-6f17d22bba15001f/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: if you're trying to build a new `Population<_, _, NNGenome>` consider using one of the following associated functions:
[INFO] [stdout]       Population::<C, H, G>::new
[INFO] [stdout]       Population::<C, H, G>::new_seeded
[INFO] [stdout]    --> /opt/rustwide/workdir/src/populations.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout] 57  | /     pub fn new(population_config: PopulationConfig, genetic_config: C) -> Population<C, H, G>
[INFO] [stdout] 58  | |     where
[INFO] [stdout] 59  | |         H: InnovationHistory<Config = C>,
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 118 | /     pub fn new_seeded(
[INFO] [stdout] 119 | |         genomes: Vec<Vec<G>>,
[INFO] [stdout] 120 | |         population_config: PopulationConfig,
[INFO] [stdout] 121 | |         genetic_config: C,
[INFO] [stdout] 122 | |     ) -> Option<Population<C, H, G>>
[INFO] [stdout] 123 | |     where
[INFO] [stdout] 124 | |         H: InnovationHistory<Config = C>,
[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] 15  | 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-6f17d22bba15001f/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: if you're trying to build a new `Population<_, _, NNGenome>` consider using one of the following associated functions:
[INFO] [stdout]       Population::<C, H, G>::new
[INFO] [stdout]       Population::<C, H, G>::new_seeded
[INFO] [stdout]    --> /opt/rustwide/workdir/src/populations.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout] 57  | /     pub fn new(population_config: PopulationConfig, genetic_config: C) -> Population<C, H, G>
[INFO] [stdout] 58  | |     where
[INFO] [stdout] 59  | |         H: InnovationHistory<Config = C>,
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 118 | /     pub fn new_seeded(
[INFO] [stdout] 119 | |         genomes: Vec<Vec<G>>,
[INFO] [stdout] 120 | |         population_config: PopulationConfig,
[INFO] [stdout] 121 | |         genetic_config: C,
[INFO] [stdout] 122 | |     ) -> Option<Population<C, H, G>>
[INFO] [stdout] 123 | |     where
[INFO] [stdout] 124 | |         H: InnovationHistory<Config = C>,
[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/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] 74  |         population.evaluate_fitness(evaluate_xor);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::evaluate_fitness`
[INFO] [stdout]    --> /opt/rustwide/workdir/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] 72 |     let mut population = Population::new(population_config, genetic_config);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/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] 75 |         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-6f17d22bba15001f/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] 76 |             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-6f17d22bba15001f/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] 79 |         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-6f17d22bba15001f/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/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] 10  | 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-6f17d22bba15001f/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: if you're trying to build a new `EvolutionLogger<NNGenome>`, consider using `EvolutionLogger::<G>::new` which returns `EvolutionLogger<_>`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/populations/logging.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn new(reporting_level: ReportingLevel) -> EvolutionLogger<G> {
[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] 19  | population.evaluate_fitness(|g| {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::evaluate_fitness`
[INFO] [stdout]    --> /opt/rustwide/workdir/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] 11 |   let mut population = Population::new(
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 12 | |     PopulationConfig {
[INFO] [stdout] 13 | |         survival_threshold: 1.0,
[INFO] [stdout] 14 | |         ..PopulationConfig::zero()
[INFO] [stdout] 15 | |     },
[INFO] [stdout] 16 | |     genetic_config,
[INFO] [stdout] 17 | | );
[INFO] [stdout]    | |_^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Population::<C, H, G>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/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] 27 | 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-6f17d22bba15001f/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.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] 10  | 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-6f17d22bba15001f/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: if you're trying to build a new `Population<_, _, NNGenome>` consider using one of the following associated functions:
[INFO] [stdout]       Population::<C, H, G>::new
[INFO] [stdout]       Population::<C, H, G>::new_seeded
[INFO] [stdout]    --> /opt/rustwide/workdir/src/populations.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout] 57  | /     pub fn new(population_config: PopulationConfig, genetic_config: C) -> Population<C, H, G>
[INFO] [stdout] 58  | |     where
[INFO] [stdout] 59  | |         H: InnovationHistory<Config = C>,
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 118 | /     pub fn new_seeded(
[INFO] [stdout] 119 | |         genomes: Vec<Vec<G>>,
[INFO] [stdout] 120 | |         population_config: PopulationConfig,
[INFO] [stdout] 121 | |         genetic_config: C,
[INFO] [stdout] 122 | |     ) -> Option<Population<C, H, G>>
[INFO] [stdout] 123 | |     where
[INFO] [stdout] 124 | |         H: InnovationHistory<Config = C>,
[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] 9   | 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-6f17d22bba15001f/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: if you're trying to build a new `EvolutionLogger<NNGenome>`, consider using `EvolutionLogger::<G>::new` which returns `EvolutionLogger<_>`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/populations/logging.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn new(reporting_level: ReportingLevel) -> EvolutionLogger<G> {
[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] 10  | 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-6f17d22bba15001f/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: if you're trying to build a new `Population<_, _, NNGenome>` consider using one of the following associated functions:
[INFO] [stdout]       Population::<C, H, G>::new
[INFO] [stdout]       Population::<C, H, G>::new_seeded
[INFO] [stdout]    --> /opt/rustwide/workdir/src/populations.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout] 57  | /     pub fn new(population_config: PopulationConfig, genetic_config: C) -> Population<C, H, G>
[INFO] [stdout] 58  | |     where
[INFO] [stdout] 59  | |         H: InnovationHistory<Config = C>,
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 118 | /     pub fn new_seeded(
[INFO] [stdout] 119 | |         genomes: Vec<Vec<G>>,
[INFO] [stdout] 120 | |         population_config: PopulationConfig,
[INFO] [stdout] 121 | |         genetic_config: C,
[INFO] [stdout] 122 | |     ) -> Option<Population<C, H, G>>
[INFO] [stdout] 123 | |     where
[INFO] [stdout] 124 | |         H: InnovationHistory<Config = C>,
[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>::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] 10  | 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-6f17d22bba15001f/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: if you're trying to build a new `Population<_, _, NNGenome>` consider using one of the following associated functions:
[INFO] [stdout]       Population::<C, H, G>::new
[INFO] [stdout]       Population::<C, H, G>::new_seeded
[INFO] [stdout]    --> /opt/rustwide/workdir/src/populations.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout] 57  | /     pub fn new(population_config: PopulationConfig, genetic_config: C) -> Population<C, H, G>
[INFO] [stdout] 58  | |     where
[INFO] [stdout] 59  | |         H: InnovationHistory<Config = C>,
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 118 | /     pub fn new_seeded(
[INFO] [stdout] 119 | |         genomes: Vec<Vec<G>>,
[INFO] [stdout] 120 | |         population_config: PopulationConfig,
[INFO] [stdout] 121 | |         genetic_config: C,
[INFO] [stdout] 122 | |     ) -> Option<Population<C, H, G>>
[INFO] [stdout] 123 | |     where
[INFO] [stdout] 124 | |         H: InnovationHistory<Config = C>,
[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>::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] 12 | let mut species = Species::new(
[INFO] [stdout]    |                   ------------ required by a bound introduced by this call
[INFO] [stdout] 13 |     SpeciesID(1, 0),
[INFO] [stdout] 14 |     representative,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:123:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | species.add_genome(genome.clone());
[INFO] [stdout]    |         ^^^^^^^^^^ method cannot be called on `Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:125:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | 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-6f17d22bba15001f/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/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] 10 | let species = Species::new(
[INFO] [stdout]    |               ------------ required by a bound introduced by this call
[INFO] [stdout] 11 |     SpeciesID(1, 0),
[INFO] [stdout] 12 |     representative.clone(),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:102:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | 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-6f17d22bba15001f/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>::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] 16 | let mut species = Species::new(
[INFO] [stdout]    |                   ------------ required by a bound introduced by this call
[INFO] [stdout] 17 |     SpeciesID(1, 0),
[INFO] [stdout] 18 |     g1,
[INFO] [stdout]    |     ^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:244:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | species.add_genome(g2.clone());
[INFO] [stdout]    |         ^^^^^^^^^^ method cannot be called on `Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:245:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | species.add_genome(g3);
[INFO] [stdout]    |         ^^^^^^^^^^ method cannot be called on `Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:248:20
[INFO] [stdout]    |
[INFO] [stdout] 24 | assert_eq!(species.champion(), &g2);
[INFO] [stdout]    |                    ^^^^^^^^ method cannot be called on `Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/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>::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] 10 | let species = Species::new(
[INFO] [stdout]    |               ------------ required by a bound introduced by this call
[INFO] [stdout] 11 |     SpeciesID(1, 0),
[INFO] [stdout] 12 |     representative,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:197:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | println!("{}", species.time_stagnated());
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^ method cannot be called on `Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/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>::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] 10 | let species = Species::new(
[INFO] [stdout]    |               ------------ required by a bound introduced by this call
[INFO] [stdout] 11 |     SpeciesID(1, 0),
[INFO] [stdout] 12 |     representative,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:217:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | 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-6f17d22bba15001f/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] 10 | let species = Species::new(
[INFO] [stdout]    |               ------------ required by a bound introduced by this call
[INFO] [stdout] 11 |     SpeciesID(1, 0),
[INFO] [stdout] 12 |     representative,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/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>::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] 10 | let species = Species::new(
[INFO] [stdout]    |               ------------ required by a bound introduced by this call
[INFO] [stdout] 11 |     SpeciesID(1, 0),
[INFO] [stdout] 12 |     representative,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:82:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | 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-6f17d22bba15001f/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>::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] 13 | let mut species = Species::new(
[INFO] [stdout]    |                   ------------ required by a bound introduced by this call
[INFO] [stdout] 14 |     SpeciesID(1, 0),
[INFO] [stdout] 15 |     representative,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Genome` is not implemented for `NNGenome`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `oxineat::Species::<G>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:172:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | species.add_genome(g1);
[INFO] [stdout]    |         ^^^^^^^^^^ method cannot be called on `Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:173:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | species.add_genome(g2);
[INFO] [stdout]    |         ^^^^^^^^^^ method cannot be called on `Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/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 `Species<NNGenome>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/populations/species.rs:176:20
[INFO] [stdout]    |
[INFO] [stdout] 26 | assert_eq!(species.adjusted_fitness(), (0.0 + 20.0 + 30.0) / 3.0);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^ method cannot be called on `Species<NNGenome>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/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] 
[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 0.31s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "7e2859b71b1ddfcb8dbe5710abfe32ab85743874a89d53e2249ee2c04851487c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7e2859b71b1ddfcb8dbe5710abfe32ab85743874a89d53e2249ee2c04851487c", kill_on_drop: false }`
[INFO] [stdout] 7e2859b71b1ddfcb8dbe5710abfe32ab85743874a89d53e2249ee2c04851487c
