[INFO] fetching crate oxineat 0.3.2...
[INFO] testing oxineat-0.3.2 against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[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 d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "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-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4d18dc35e584416c162fba7c11d5e9a4395052a9dee72390373eb5f973920c39
[INFO] running `Command { std: "docker" "start" "-a" "4d18dc35e584416c162fba7c11d5e9a4395052a9dee72390373eb5f973920c39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d18dc35e584416c162fba7c11d5e9a4395052a9dee72390373eb5f973920c39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d18dc35e584416c162fba7c11d5e9a4395052a9dee72390373eb5f973920c39", kill_on_drop: false }`
[INFO] [stdout] 4d18dc35e584416c162fba7c11d5e9a4395052a9dee72390373eb5f973920c39
[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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bab7f88ccde1de3b6b34ec5ed0d81561333df1a4ec3d857843af0a2562672868
[INFO] running `Command { std: "docker" "start" "-a" "bab7f88ccde1de3b6b34ec5ed0d81561333df1a4ec3d857843af0a2562672868", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[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)]` 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)]` 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 36.56s
[INFO] running `Command { std: "docker" "inspect" "bab7f88ccde1de3b6b34ec5ed0d81561333df1a4ec3d857843af0a2562672868", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bab7f88ccde1de3b6b34ec5ed0d81561333df1a4ec3d857843af0a2562672868", kill_on_drop: false }`
[INFO] [stdout] bab7f88ccde1de3b6b34ec5ed0d81561333df1a4ec3d857843af0a2562672868
[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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 38ede6573800919a354b198841d97958db5e05479739743e0f9adeac5cb6d1dd
[INFO] running `Command { std: "docker" "start" "-a" "38ede6573800919a354b198841d97958db5e05479739743e0f9adeac5cb6d1dd", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_json v1.0.145
[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)]` 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)]` 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)]` 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)]` 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 7.49s
[INFO] running `Command { std: "docker" "inspect" "38ede6573800919a354b198841d97958db5e05479739743e0f9adeac5cb6d1dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "38ede6573800919a354b198841d97958db5e05479739743e0f9adeac5cb6d1dd", kill_on_drop: false }`
[INFO] [stdout] 38ede6573800919a354b198841d97958db5e05479739743e0f9adeac5cb6d1dd
[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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 80f17ded07a544c48a42e4dc2774ee6d203466b9e00220e4a25779086306e5ef
[INFO] running `Command { std: "docker" "start" "-a" "80f17ded07a544c48a42e4dc2774ee6d203466b9e00220e4a25779086306e5ef", 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 `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)]` 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
[INFO] [stderr] warning: `oxineat` (lib test) generated 12 warnings (12 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oxineat-ac15abe8aba0f059)
[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>::history (line 573) ... 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>::evaluate_fitness (line 180) ... 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>::evolve (line 236) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 17) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::genomes (line 514) ... FAILED
[INFO] [stdout] test src/populations/logging.rs - populations::logging::EvolutionLogger<G>::iter (line 210) ... 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>::new_seeded (line 95) ... FAILED
[INFO] [stdout] test src/populations.rs - populations::Population<C,H,G>::species (line 533) ... FAILED
[INFO] [stdout] test src/populations/species.rs - populations::species::Species<G>::id (line 70) ... 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.rs - populations::Population<C,H,G>::new (line 44) ... 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/config.rs - populations::config::PopulationConfig::zero (line 60) ... ok
[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>::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>::representative (line 90) ... FAILED
[INFO] [stdout] test src/populations/species.rs - populations::species::Species<G>::new (line 46) ... FAILED
[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>::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-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>::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-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] 15  | 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]    --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout] 2   | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/populations.rs:180:1
[INFO] [stdout]     |
[INFO] [stdout] 3   | extern crate r#oxineat;
[INFO] [stdout]     | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4   | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_rs_180_0() {
[INFO] [stdout] 5   | use oxineat_nn::genomics::GeneticConfig;
[INFO] [stdout]     |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]     | ------------------- this type doesn't implement the required 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]    --> /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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/populations.rs:180:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#oxineat;
[INFO] [stdout]    | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4  | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_rs_180_0() {
[INFO] [stdout] 5  | use oxineat_nn::genomics::GeneticConfig;
[INFO] [stdout]    |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]    | ------------------- this type doesn't implement the required 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]   --> /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/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-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] 19  | 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]    --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout] 2   | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/populations.rs:236:1
[INFO] [stdout]     |
[INFO] [stdout] 3   | extern crate r#oxineat;
[INFO] [stdout]     | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4   | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_rs_236_0() {
[INFO] [stdout] 5   | use oxineat_nn::genomics::{GeneticConfig, NNGenome as G};
[INFO] [stdout]     |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]     | ------------------- this type doesn't implement the required 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]    --> /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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/populations.rs:236:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#oxineat;
[INFO] [stdout]    | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4  | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_rs_236_0() {
[INFO] [stdout] 5  | use oxineat_nn::genomics::{GeneticConfig, NNGenome as G};
[INFO] [stdout]    |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]    | ------------------- this type doesn't implement the required 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]   --> /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-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] 74  |         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]    --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout] 2   | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout] 3   | extern crate r#oxineat;
[INFO] [stdout]     | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4   | use oxineat::{Population, PopulationConfig};
[INFO] [stdout] 5   | use oxineat_nn::{
[INFO] [stdout]     |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]     | ------------------- this type doesn't implement the required 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]    --> /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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#oxineat;
[INFO] [stdout]    | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4  | use oxineat::{Population, PopulationConfig};
[INFO] [stdout] 5  | use oxineat_nn::{
[INFO] [stdout]    |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]    | ------------------- this type doesn't implement the required 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]   --> /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-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] 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-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] 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-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>::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-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] 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-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>::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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/populations/species.rs:153:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#oxineat;
[INFO] [stdout]    | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4  | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_species_rs_153_0() {
[INFO] [stdout] 5  | use oxineat_nn::genomics::{GeneticConfig, NNGenome};
[INFO] [stdout]    |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]    | ------------------- this type doesn't implement the required 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]   --> /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 `oxineat::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 `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] 23 | 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] 26 | 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>::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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout] 2   | pub trait Genome {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/populations.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout] 3   | extern crate r#oxineat;
[INFO] [stdout]     | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4   | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_rs_95_0() {
[INFO] [stdout] 5   | use oxineat_nn::genomics::{GeneticConfig, NNGenome};
[INFO] [stdout]     |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]     | ------------------- this type doesn't implement the required 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]    --> /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-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] 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-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.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-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>::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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/populations/species.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#oxineat;
[INFO] [stdout]    | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4  | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_species_rs_70_0() {
[INFO] [stdout] 5  | use oxineat_nn::genomics::{GeneticConfig, NNGenome};
[INFO] [stdout]    |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]    | ------------------- this type doesn't implement the required 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]   --> /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 `oxineat::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-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.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-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>::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-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] 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-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>::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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/populations/species.rs:109:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#oxineat;
[INFO] [stdout]    | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4  | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_species_rs_109_0() {
[INFO] [stdout] 5  | use oxineat_nn::genomics::{GeneticConfig, NNGenome};
[INFO] [stdout]    |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]    | ------------------- this type doesn't implement the required 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]   --> /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 `oxineat::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 `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] 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-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] 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-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] 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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/populations/species.rs:205:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#oxineat;
[INFO] [stdout]    | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4  | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_species_rs_205_0() {
[INFO] [stdout] 5  | use oxineat_nn::genomics::{GeneticConfig, NNGenome};
[INFO] [stdout]    |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]    | ------------------- this type doesn't implement the required 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]   --> /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 `oxineat::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-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>::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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/populations/species.rs:227:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#oxineat;
[INFO] [stdout]    | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4  | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_species_rs_227_0() {
[INFO] [stdout] 5  | use oxineat_nn::genomics::{GeneticConfig, NNGenome};
[INFO] [stdout]    |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]    | ------------------- this type doesn't implement the required 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]   --> /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 `oxineat::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 `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] 21 | 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] 24 | 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>::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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/populations/species.rs:185:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#oxineat;
[INFO] [stdout]    | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4  | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_species_rs_185_0() {
[INFO] [stdout] 5  | use oxineat_nn::genomics::{GeneticConfig, NNGenome};
[INFO] [stdout]    |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]    | ------------------- this type doesn't implement the required 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]   --> /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 `oxineat::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 `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>::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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/populations/species.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#oxineat;
[INFO] [stdout]    | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4  | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_species_rs_90_0() {
[INFO] [stdout] 5  | use oxineat_nn::genomics::{GeneticConfig, NNGenome};
[INFO] [stdout]    |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]    | ------------------- this type doesn't implement the required 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]   --> /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 `oxineat::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-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] 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: there are multiple different versions of crate `oxineat` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/genome.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | pub trait Genome {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/populations/species.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#oxineat;
[INFO] [stdout]    | ----------------------- one version of crate `oxineat` used here, as a direct dependency of the current crate
[INFO] [stdout] 4  | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_populations_species_rs_46_0() {
[INFO] [stdout] 5  | use oxineat_nn::genomics::{GeneticConfig, NNGenome};
[INFO] [stdout]    |     ---------- one version of crate `oxineat` used here, as a dependency of crate `oxineat_nn`
[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]    | ------------------- this type doesn't implement the required 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]   --> /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] 
[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.51s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "80f17ded07a544c48a42e4dc2774ee6d203466b9e00220e4a25779086306e5ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80f17ded07a544c48a42e4dc2774ee6d203466b9e00220e4a25779086306e5ef", kill_on_drop: false }`
[INFO] [stdout] 80f17ded07a544c48a42e4dc2774ee6d203466b9e00220e4a25779086306e5ef
