[INFO] fetching crate evo-rl 0.1.0-alpha.5... [INFO] testing evo-rl-0.1.0-alpha.5 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate evo-rl 0.1.0-alpha.5 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate evo-rl 0.1.0-alpha.5 [INFO] finished tweaking crates.io crate evo-rl 0.1.0-alpha.5 [INFO] tweaked toml for crates.io crate evo-rl 0.1.0-alpha.5 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate evo-rl 0.1.0-alpha.5 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 104 packages to latest compatible versions [INFO] [stderr] Adding nalgebra v0.32.6 (available: v0.34.0) [INFO] [stderr] Adding ndarray v0.15.6 (available: v0.16.1) [INFO] [stderr] Adding petgraph v0.6.5 (available: v0.8.2) [INFO] [stderr] Adding pyo3 v0.20.3 (available: v0.26.0) [INFO] [stderr] Adding pyo3-build-config v0.21.2 (available: v0.26.0) [INFO] [stderr] Adding pyo3-log v0.9.0 (available: v0.12.4) [INFO] [stderr] Adding rand v0.8.5 (available: v0.9.2) [INFO] [stderr] Adding rand_distr v0.4.3 (available: v0.5.1) [INFO] [stderr] Adding rand_seeder v0.2.3 (available: v0.4.0) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.16) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rand_seeder v0.2.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4728056c4ff4743ce47a64e1c4a232923d3b25929fc35e3cf34004be12c91c6a [INFO] running `Command { std: "docker" "start" "-a" "4728056c4ff4743ce47a64e1c4a232923d3b25929fc35e3cf34004be12c91c6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4728056c4ff4743ce47a64e1c4a232923d3b25929fc35e3cf34004be12c91c6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4728056c4ff4743ce47a64e1c4a232923d3b25929fc35e3cf34004be12c91c6a", kill_on_drop: false }` [INFO] [stdout] 4728056c4ff4743ce47a64e1c4a232923d3b25929fc35e3cf34004be12c91c6a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b0cdedb071e71fd1a020a5b44cf8ce49c7add4d2fb3e798935dfab9ec52bdf9e [INFO] running `Command { std: "docker" "start" "-a" "b0cdedb071e71fd1a020a5b44cf8ce49c7add4d2fb3e798935dfab9ec52bdf9e", kill_on_drop: false }` [INFO] [stderr] Compiling cfg-if v1.0.3 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling pyo3-build-config v0.20.3 [INFO] [stderr] Compiling pyo3-build-config v0.21.2 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling bytemuck v1.23.2 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling wide v0.7.33 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling pyo3-macros-backend v0.20.3 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling pyo3-ffi v0.20.3 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling pyo3 v0.20.3 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling indoc v2.0.6 [INFO] [stderr] Compiling unindent v0.2.4 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling simba v0.8.1 [INFO] [stderr] Compiling evo-rl v0.1.0-alpha.5 (/opt/rustwide/workdir) [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling nalgebra-macros v0.2.2 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling arc-swap v1.7.1 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling rand_seeder v0.2.3 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling pyo3-macros v0.20.3 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling env_logger v0.10.2 [INFO] [stderr] Compiling pretty_env_logger v0.5.0 [INFO] [stderr] Compiling ndarray v0.15.6 [INFO] [stderr] Compiling pyo3-log v0.9.0 [INFO] [stderr] Compiling nalgebra v0.32.6 [INFO] [stdout] warning: unused import: `rand::prelude::*` [INFO] [stdout] --> src/neuron.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use rand::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sigmoid` [INFO] [stdout] --> src/neuron.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::{relu, sigmoid}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/enecode.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | use std::io::{self, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Innovation_Number` should have an upper camel case name [INFO] [stdout] --> src/enecode/topology.rs:85:22 [INFO] [stdout] | [INFO] [stdout] 85 | enum Field { Innovation_Number, Pin, Inputs, Genetic_Bias, Active } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InnovationNumber` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Genetic_Bias` should have an upper camel case name [INFO] [stdout] --> src/enecode/topology.rs:85:54 [INFO] [stdout] | [INFO] [stdout] 85 | enum Field { Innovation_Number, Pin, Inputs, Genetic_Bias, Active } [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GeneticBias` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Innovation_Number` should have an upper camel case name [INFO] [stdout] --> src/enecode/properties.rs:83:22 [INFO] [stdout] | [INFO] [stdout] 83 | enum Field { Innovation_Number, Module, Tau, Homeostatic_Force, Tanh_Alpha} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InnovationNumber` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Homeostatic_Force` should have an upper camel case name [INFO] [stdout] --> src/enecode/properties.rs:83:54 [INFO] [stdout] | [INFO] [stdout] 83 | enum Field { Innovation_Number, Module, Tau, Homeostatic_Force, Tanh_Alpha} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HomeostaticForce` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Tanh_Alpha` should have an upper camel case name [INFO] [stdout] --> src/enecode/properties.rs:83:73 [INFO] [stdout] | [INFO] [stdout] 83 | enum Field { Innovation_Number, Module, Tau, Homeostatic_Force, Tanh_Alpha} [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TanhAlpha` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Innovation_Number` should have an upper camel case name [INFO] [stdout] --> src/enecode/meta.rs:63:22 [INFO] [stdout] | [INFO] [stdout] 63 | enum Field { Innovation_Number, Learning_Rate, Learning_Threshold } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InnovationNumber` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Learning_Rate` should have an upper camel case name [INFO] [stdout] --> src/enecode/meta.rs:63:41 [INFO] [stdout] | [INFO] [stdout] 63 | enum Field { Innovation_Number, Learning_Rate, Learning_Threshold } [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LearningRate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Learning_Threshold` should have an upper camel case name [INFO] [stdout] --> src/enecode/meta.rs:63:56 [INFO] [stdout] | [INFO] [stdout] 63 | enum Field { Innovation_Number, Learning_Rate, Learning_Threshold } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LearningThreshold` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::prelude::*` [INFO] [stdout] --> src/population.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rand::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `graph::NeuralNetwork` [INFO] [stdout] --> src/population.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::{graph::NeuralNetwork, enecode::EneCode}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::graph::NeuralNetwork` [INFO] [stdout] --> src/population.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | use crate::graph::NeuralNetwork; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GENOME_EXAMPLE`, `XOR_GENOME_MINIMAL`, and `XOR_GENOME` [INFO] [stdout] --> src/population.rs:259:26 [INFO] [stdout] | [INFO] [stdout] 259 | use crate::doctest::{GENOME_EXAMPLE, XOR_GENOME, XOR_GENOME_MINIMAL}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::setup_logger` [INFO] [stdout] --> src/population.rs:260:9 [INFO] [stdout] | [INFO] [stdout] 260 | use crate::setup_logger; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pyo3::exceptions::PyRuntimeError` [INFO] [stdout] --> src/api/python_api/agent_api.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use pyo3::exceptions::PyRuntimeError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_units` [INFO] [stdout] --> src/graph.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | let num_units = hidden_units.len(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_units` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/graph.rs:422:27 [INFO] [stdout] | [INFO] [stdout] 422 | let node_label = |g: &DiGraph, node_ref: (NodeIndex, &Nn)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/graph.rs:426:26 [INFO] [stdout] | [INFO] [stdout] 426 | let edge_attr = |g: &DiGraph, edge_ref: EdgeReference<'_, f32>| -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `learn` is never used [INFO] [stdout] --> src/neuron.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 69 | impl Nn{ [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | fn learn(&self, syn_weight_current: f32) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `XorEvaluation` is never constructed [INFO] [stdout] --> src/population.rs:262:12 [INFO] [stdout] | [INFO] [stdout] 262 | struct XorEvaluation { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `evaluate_agent` are never used [INFO] [stdout] --> src/population.rs:267:16 [INFO] [stdout] | [INFO] [stdout] 266 | impl XorEvaluation { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 267 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn evaluate_agent(&self, agent: &mut Agent) -> Result<(), FitnessValueError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pop_config` is never read [INFO] [stdout] --> src/api/python_api/population_api.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct PopulationApi { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 87 | pop_config: Py [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `topology_mutation_rate`, `synaptic_mutation_rate`, and `mutation_effect` are never read [INFO] [stdout] --> src/api/python_api/agent_api.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct AgentApi { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 14 | agent: Agent, [INFO] [stdout] 15 | topology_mutation_rate: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | synaptic_mutation_rate: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | mutation_effect: f32 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | dict.set_item("neuron_id", &self.neuron_id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 95 | let _ = dict.set_item("neuron_id", &self.neuron_id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | dict.set_item("topology", &self.topology); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 96 | let _ = dict.set_item("topology", &self.topology); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | dict.set_item("neuronal_props", &self.neuronal_props); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 97 | let _ = dict.set_item("neuronal_props", &self.neuronal_props); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | dict.set_item("meta_learning", &self.meta_learning); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 98 | let _ = dict.set_item("meta_learning", &self.meta_learning); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/topology.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 47 | let _ = dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/topology.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | / match self.pin { [INFO] [stdout] 50 | | NeuronType::In => dict.set_item("pin", "Input"), [INFO] [stdout] 51 | | NeuronType::Out => dict.set_item("pin", "Output"), [INFO] [stdout] 52 | | NeuronType::Hidden => dict.set_item("pin", "Hidden"), [INFO] [stdout] 53 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 49 | let _ = match self.pin { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/topology.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | dict.set_item("inputs", &self.inputs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 55 | let _ = dict.set_item("inputs", &self.inputs); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/topology.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | dict.set_item("genetic_bias", self.genetic_bias); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 56 | let _ = dict.set_item("genetic_bias", self.genetic_bias); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/topology.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | dict.set_item("active", self.active); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 57 | let _ = dict.set_item("active", self.active); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/properties.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 51 | let _ = dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/properties.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | dict.set_item("module", &self.module.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 52 | let _ = dict.set_item("module", &self.module.to_string()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/properties.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | dict.set_item("tau", self.tau); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 53 | let _ = dict.set_item("tau", self.tau); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/properties.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | dict.set_item("homeostatic_force", self.homeostatic_force); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 54 | let _ = dict.set_item("homeostatic_force", self.homeostatic_force); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/properties.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | dict.set_item("tanh_alpha", self.tanh_alpha); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 55 | let _ = dict.set_item("tanh_alpha", self.tanh_alpha); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/meta.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | dict.set_item("innnovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 35 | let _ = dict.set_item("innnovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/meta.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | dict.set_item("learning_rate", self.learning_rate); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 36 | let _ = dict.set_item("learning_rate", self.learning_rate); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/meta.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | dict.set_item("learning_threshold", self.learning_threshold); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 37 | let _ = dict.set_item("learning_threshold", self.learning_threshold); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/api/python_api/population_api.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 91 | impl PopulationApi { [INFO] [stdout] | ------------- [INFO] [stdout] | | [INFO] [stdout] | `PopulationApi` is not local [INFO] [stdout] | `PopulationApi` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/api/python_api/agent_api.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 21 | impl AgentApi { [INFO] [stdout] | -------- [INFO] [stdout] | | [INFO] [stdout] | `AgentApi` is not local [INFO] [stdout] | `AgentApi` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/agent_wrapper.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 29 | impl Agent { [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | `Agent` is not local [INFO] [stdout] | `Agent` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 05s [INFO] running `Command { std: "docker" "inspect" "b0cdedb071e71fd1a020a5b44cf8ce49c7add4d2fb3e798935dfab9ec52bdf9e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b0cdedb071e71fd1a020a5b44cf8ce49c7add4d2fb3e798935dfab9ec52bdf9e", kill_on_drop: false }` [INFO] [stdout] b0cdedb071e71fd1a020a5b44cf8ce49c7add4d2fb3e798935dfab9ec52bdf9e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a7c1de2486b57f0fb62aca2b2381f608e7c0943eb9d4ac4932b2c245ee476a5d [INFO] running `Command { std: "docker" "start" "-a" "a7c1de2486b57f0fb62aca2b2381f608e7c0943eb9d4ac4932b2c245ee476a5d", kill_on_drop: false }` [INFO] [stderr] Compiling assert_matches v1.5.0 [INFO] [stderr] Compiling evo-rl v0.1.0-alpha.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `sigmoid` [INFO] [stdout] --> src/neuron.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::{relu, sigmoid}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/enecode.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | use std::io::{self, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Innovation_Number` should have an upper camel case name [INFO] [stdout] --> src/enecode/topology.rs:85:22 [INFO] [stdout] | [INFO] [stdout] 85 | enum Field { Innovation_Number, Pin, Inputs, Genetic_Bias, Active } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InnovationNumber` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Genetic_Bias` should have an upper camel case name [INFO] [stdout] --> src/enecode/topology.rs:85:54 [INFO] [stdout] | [INFO] [stdout] 85 | enum Field { Innovation_Number, Pin, Inputs, Genetic_Bias, Active } [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GeneticBias` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Innovation_Number` should have an upper camel case name [INFO] [stdout] --> src/enecode/properties.rs:83:22 [INFO] [stdout] | [INFO] [stdout] 83 | enum Field { Innovation_Number, Module, Tau, Homeostatic_Force, Tanh_Alpha} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InnovationNumber` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Homeostatic_Force` should have an upper camel case name [INFO] [stdout] --> src/enecode/properties.rs:83:54 [INFO] [stdout] | [INFO] [stdout] 83 | enum Field { Innovation_Number, Module, Tau, Homeostatic_Force, Tanh_Alpha} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HomeostaticForce` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Tanh_Alpha` should have an upper camel case name [INFO] [stdout] --> src/enecode/properties.rs:83:73 [INFO] [stdout] | [INFO] [stdout] 83 | enum Field { Innovation_Number, Module, Tau, Homeostatic_Force, Tanh_Alpha} [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TanhAlpha` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Innovation_Number` should have an upper camel case name [INFO] [stdout] --> src/enecode/meta.rs:63:22 [INFO] [stdout] | [INFO] [stdout] 63 | enum Field { Innovation_Number, Learning_Rate, Learning_Threshold } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InnovationNumber` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Learning_Rate` should have an upper camel case name [INFO] [stdout] --> src/enecode/meta.rs:63:41 [INFO] [stdout] | [INFO] [stdout] 63 | enum Field { Innovation_Number, Learning_Rate, Learning_Threshold } [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LearningRate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Learning_Threshold` should have an upper camel case name [INFO] [stdout] --> src/enecode/meta.rs:63:56 [INFO] [stdout] | [INFO] [stdout] 63 | enum Field { Innovation_Number, Learning_Rate, Learning_Threshold } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LearningThreshold` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::prelude::*` [INFO] [stdout] --> src/population.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rand::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `graph::NeuralNetwork` [INFO] [stdout] --> src/population.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::{graph::NeuralNetwork, enecode::EneCode}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::graph::NeuralNetwork` [INFO] [stdout] --> src/population.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | use crate::graph::NeuralNetwork; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pyo3::exceptions::PyRuntimeError` [INFO] [stdout] --> src/api/python_api/agent_api.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use pyo3::exceptions::PyRuntimeError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_units` [INFO] [stdout] --> src/graph.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | let num_units = hidden_units.len(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_units` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/graph.rs:422:27 [INFO] [stdout] | [INFO] [stdout] 422 | let node_label = |g: &DiGraph, node_ref: (NodeIndex, &Nn)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/graph.rs:426:26 [INFO] [stdout] | [INFO] [stdout] 426 | let edge_attr = |g: &DiGraph, edge_ref: EdgeReference<'_, f32>| -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `learn` is never used [INFO] [stdout] --> src/neuron.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 69 | impl Nn{ [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | fn learn(&self, syn_weight_current: f32) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pop_config` is never read [INFO] [stdout] --> src/api/python_api/population_api.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct PopulationApi { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 87 | pop_config: Py [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `topology_mutation_rate`, `synaptic_mutation_rate`, and `mutation_effect` are never read [INFO] [stdout] --> src/api/python_api/agent_api.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct AgentApi { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 14 | agent: Agent, [INFO] [stdout] 15 | topology_mutation_rate: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | synaptic_mutation_rate: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | mutation_effect: f32 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | dict.set_item("neuron_id", &self.neuron_id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 95 | let _ = dict.set_item("neuron_id", &self.neuron_id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | dict.set_item("topology", &self.topology); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 96 | let _ = dict.set_item("topology", &self.topology); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | dict.set_item("neuronal_props", &self.neuronal_props); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 97 | let _ = dict.set_item("neuronal_props", &self.neuronal_props); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | dict.set_item("meta_learning", &self.meta_learning); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 98 | let _ = dict.set_item("meta_learning", &self.meta_learning); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/topology.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 47 | let _ = dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/topology.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | / match self.pin { [INFO] [stdout] 50 | | NeuronType::In => dict.set_item("pin", "Input"), [INFO] [stdout] 51 | | NeuronType::Out => dict.set_item("pin", "Output"), [INFO] [stdout] 52 | | NeuronType::Hidden => dict.set_item("pin", "Hidden"), [INFO] [stdout] 53 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 49 | let _ = match self.pin { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/topology.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | dict.set_item("inputs", &self.inputs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 55 | let _ = dict.set_item("inputs", &self.inputs); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/topology.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | dict.set_item("genetic_bias", self.genetic_bias); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 56 | let _ = dict.set_item("genetic_bias", self.genetic_bias); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/topology.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | dict.set_item("active", self.active); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 57 | let _ = dict.set_item("active", self.active); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/properties.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 51 | let _ = dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/properties.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | dict.set_item("module", &self.module.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 52 | let _ = dict.set_item("module", &self.module.to_string()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/properties.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | dict.set_item("tau", self.tau); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 53 | let _ = dict.set_item("tau", self.tau); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/properties.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | dict.set_item("homeostatic_force", self.homeostatic_force); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 54 | let _ = dict.set_item("homeostatic_force", self.homeostatic_force); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/properties.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | dict.set_item("tanh_alpha", self.tanh_alpha); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 55 | let _ = dict.set_item("tanh_alpha", self.tanh_alpha); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/meta.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | dict.set_item("innnovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 35 | let _ = dict.set_item("innnovation_number", &self.innovation_number.to_string()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/meta.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | dict.set_item("learning_rate", self.learning_rate); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 36 | let _ = dict.set_item("learning_rate", self.learning_rate); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/enecode/meta.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | dict.set_item("learning_threshold", self.learning_threshold); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 37 | let _ = dict.set_item("learning_threshold", self.learning_threshold); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/population.rs:374:17 [INFO] [stdout] | [INFO] [stdout] 374 | ef.evaluate_agent(agent); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 374 | let _ = ef.evaluate_agent(agent); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/population.rs:401:17 [INFO] [stdout] | [INFO] [stdout] 401 | ef.evaluate_agent(agent); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 401 | let _ = ef.evaluate_agent(agent); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/api/python_api/population_api.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 91 | impl PopulationApi { [INFO] [stdout] | ------------- [INFO] [stdout] | | [INFO] [stdout] | `PopulationApi` is not local [INFO] [stdout] | `PopulationApi` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/api/python_api/agent_api.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 21 | impl AgentApi { [INFO] [stdout] | -------- [INFO] [stdout] | | [INFO] [stdout] | `AgentApi` is not local [INFO] [stdout] | `AgentApi` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/agent_wrapper.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 29 | impl Agent { [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | `Agent` is not local [INFO] [stdout] | `Agent` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.35s [INFO] running `Command { std: "docker" "inspect" "a7c1de2486b57f0fb62aca2b2381f608e7c0943eb9d4ac4932b2c245ee476a5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7c1de2486b57f0fb62aca2b2381f608e7c0943eb9d4ac4932b2c245ee476a5d", kill_on_drop: false }` [INFO] [stdout] a7c1de2486b57f0fb62aca2b2381f608e7c0943eb9d4ac4932b2c245ee476a5d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f08ff0a826ccc899c35a9feb8449535ab5a28ffdbce291ea0e6bfbfb92e3b5a0 [INFO] running `Command { std: "docker" "start" "-a" "f08ff0a826ccc899c35a9feb8449535ab5a28ffdbce291ea0e6bfbfb92e3b5a0", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `sigmoid` [INFO] [stderr] --> src/neuron.rs:12:19 [INFO] [stderr] | [INFO] [stderr] 12 | use crate::{relu, sigmoid}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/enecode.rs:13:15 [INFO] [stderr] | [INFO] [stderr] 13 | use std::io::{self, Read}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `Innovation_Number` should have an upper camel case name [INFO] [stderr] --> src/enecode/topology.rs:85:22 [INFO] [stderr] | [INFO] [stderr] 85 | enum Field { Innovation_Number, Pin, Inputs, Genetic_Bias, Active } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InnovationNumber` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variant `Genetic_Bias` should have an upper camel case name [INFO] [stderr] --> src/enecode/topology.rs:85:54 [INFO] [stderr] | [INFO] [stderr] 85 | enum Field { Innovation_Number, Pin, Inputs, Genetic_Bias, Active } [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GeneticBias` [INFO] [stderr] [INFO] [stderr] warning: variant `Innovation_Number` should have an upper camel case name [INFO] [stderr] --> src/enecode/properties.rs:83:22 [INFO] [stderr] | [INFO] [stderr] 83 | enum Field { Innovation_Number, Module, Tau, Homeostatic_Force, Tanh_Alpha} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InnovationNumber` [INFO] [stderr] [INFO] [stderr] warning: variant `Homeostatic_Force` should have an upper camel case name [INFO] [stderr] --> src/enecode/properties.rs:83:54 [INFO] [stderr] | [INFO] [stderr] 83 | enum Field { Innovation_Number, Module, Tau, Homeostatic_Force, Tanh_Alpha} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HomeostaticForce` [INFO] [stderr] [INFO] [stderr] warning: variant `Tanh_Alpha` should have an upper camel case name [INFO] [stderr] --> src/enecode/properties.rs:83:73 [INFO] [stderr] | [INFO] [stderr] 83 | enum Field { Innovation_Number, Module, Tau, Homeostatic_Force, Tanh_Alpha} [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TanhAlpha` [INFO] [stderr] [INFO] [stderr] warning: variant `Innovation_Number` should have an upper camel case name [INFO] [stderr] --> src/enecode/meta.rs:63:22 [INFO] [stderr] | [INFO] [stderr] 63 | enum Field { Innovation_Number, Learning_Rate, Learning_Threshold } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InnovationNumber` [INFO] [stderr] [INFO] [stderr] warning: variant `Learning_Rate` should have an upper camel case name [INFO] [stderr] --> src/enecode/meta.rs:63:41 [INFO] [stderr] | [INFO] [stderr] 63 | enum Field { Innovation_Number, Learning_Rate, Learning_Threshold } [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LearningRate` [INFO] [stderr] [INFO] [stderr] warning: variant `Learning_Threshold` should have an upper camel case name [INFO] [stderr] --> src/enecode/meta.rs:63:56 [INFO] [stderr] | [INFO] [stderr] 63 | enum Field { Innovation_Number, Learning_Rate, Learning_Threshold } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LearningThreshold` [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::prelude::*` [INFO] [stderr] --> src/population.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use rand::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `graph::NeuralNetwork` [INFO] [stderr] --> src/population.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::{graph::NeuralNetwork, enecode::EneCode}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::graph::NeuralNetwork` [INFO] [stderr] --> src/population.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | use crate::graph::NeuralNetwork; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pyo3::exceptions::PyRuntimeError` [INFO] [stderr] --> src/api/python_api/agent_api.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use pyo3::exceptions::PyRuntimeError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_units` [INFO] [stderr] --> src/graph.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | let num_units = hidden_units.len(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_units` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `g` [INFO] [stderr] --> src/graph.rs:422:27 [INFO] [stderr] | [INFO] [stderr] 422 | let node_label = |g: &DiGraph, node_ref: (NodeIndex, &Nn)| { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `g` [INFO] [stderr] --> src/graph.rs:426:26 [INFO] [stderr] | [INFO] [stderr] 426 | let edge_attr = |g: &DiGraph, edge_ref: EdgeReference<'_, f32>| -> String { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stderr] [INFO] [stderr] warning: method `learn` is never used [INFO] [stderr] --> src/neuron.rs:132:8 [INFO] [stderr] | [INFO] [stderr] 69 | impl Nn{ [INFO] [stderr] | ------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 132 | fn learn(&self, syn_weight_current: f32) -> f32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `pop_config` is never read [INFO] [stderr] --> src/api/python_api/population_api.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 84 | pub struct PopulationApi { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 87 | pop_config: Py [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `topology_mutation_rate`, `synaptic_mutation_rate`, and `mutation_effect` are never read [INFO] [stderr] --> src/api/python_api/agent_api.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 13 | pub struct AgentApi { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] 14 | agent: Agent, [INFO] [stderr] 15 | topology_mutation_rate: f32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 16 | synaptic_mutation_rate: f32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 17 | mutation_effect: f32 [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | dict.set_item("neuron_id", &self.neuron_id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 95 | let _ = dict.set_item("neuron_id", &self.neuron_id); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | dict.set_item("topology", &self.topology); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 96 | let _ = dict.set_item("topology", &self.topology); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | dict.set_item("neuronal_props", &self.neuronal_props); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 97 | let _ = dict.set_item("neuronal_props", &self.neuronal_props); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | dict.set_item("meta_learning", &self.meta_learning); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 98 | let _ = dict.set_item("meta_learning", &self.meta_learning); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/topology.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 47 | let _ = dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/topology.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | / match self.pin { [INFO] [stderr] 50 | | NeuronType::In => dict.set_item("pin", "Input"), [INFO] [stderr] 51 | | NeuronType::Out => dict.set_item("pin", "Output"), [INFO] [stderr] 52 | | NeuronType::Hidden => dict.set_item("pin", "Hidden"), [INFO] [stderr] 53 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 49 | let _ = match self.pin { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/topology.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | dict.set_item("inputs", &self.inputs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 55 | let _ = dict.set_item("inputs", &self.inputs); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/topology.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | dict.set_item("genetic_bias", self.genetic_bias); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 56 | let _ = dict.set_item("genetic_bias", self.genetic_bias); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/topology.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | dict.set_item("active", self.active); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 57 | let _ = dict.set_item("active", self.active); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/properties.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 51 | let _ = dict.set_item("innovation_number", &self.innovation_number.to_string()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/properties.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | dict.set_item("module", &self.module.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 52 | let _ = dict.set_item("module", &self.module.to_string()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/properties.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | dict.set_item("tau", self.tau); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 53 | let _ = dict.set_item("tau", self.tau); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/properties.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | dict.set_item("homeostatic_force", self.homeostatic_force); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 54 | let _ = dict.set_item("homeostatic_force", self.homeostatic_force); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/properties.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | dict.set_item("tanh_alpha", self.tanh_alpha); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] running 36 tests [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 55 | let _ = dict.set_item("tanh_alpha", self.tanh_alpha); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/meta.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | dict.set_item("innnovation_number", &self.innovation_number.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 35 | let _ = dict.set_item("innnovation_number", &self.innovation_number.to_string()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/meta.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | dict.set_item("learning_rate", self.learning_rate); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 36 | let _ = dict.set_item("learning_rate", self.learning_rate); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/enecode/meta.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | dict.set_item("learning_threshold", self.learning_threshold); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 37 | let _ = dict.set_item("learning_threshold", self.learning_threshold); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/population.rs:374:17 [INFO] [stderr] | [INFO] [stderr] 374 | ef.evaluate_agent(agent); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 374 | let _ = ef.evaluate_agent(agent); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/population.rs:401:17 [INFO] [stderr] | [INFO] [stderr] 401 | ef.evaluate_agent(agent); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 401 | let _ = ef.evaluate_agent(agent); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/api/python_api/population_api.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | #[pymethods] [INFO] [stderr] | -^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `PyClassImplCollector` is not local [INFO] [stderr] | `PyClassNewTextSignature` is not local [INFO] [stderr] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stderr] 91 | impl PopulationApi { [INFO] [stderr] | ------------- [INFO] [stderr] | | [INFO] [stderr] | `PopulationApi` is not local [INFO] [stderr] | `PopulationApi` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/api/python_api/agent_api.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | #[pymethods] [INFO] [stderr] | -^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `PyClassImplCollector` is not local [INFO] [stderr] | `PyClassNewTextSignature` is not local [INFO] [stderr] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stderr] 21 | impl AgentApi { [INFO] [stderr] | -------- [INFO] [stderr] | | [INFO] [stderr] | `AgentApi` is not local [INFO] [stderr] | `AgentApi` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/agent_wrapper.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | #[pymethods] [INFO] [stderr] | -^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `PyClassImplCollector` is not local [INFO] [stderr] | `PyClassNewTextSignature` is not local [INFO] [stderr] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stderr] 29 | impl Agent { [INFO] [stderr] | ----- [INFO] [stderr] | | [INFO] [stderr] | `Agent` is not local [INFO] [stderr] | `Agent` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `evo-rl` (lib test) generated 42 warnings (run `cargo fix --lib -p evo-rl --tests` to apply 6 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/evo_rl-d1c8cb65cabb88d9) [INFO] [stdout] test enecode::meta::tests::test_deserialize_metalearning ... ok [INFO] [stdout] test enecode::properties::tests::test_deserialize_neuronalproperties ... ok [INFO] [stdout] test enecode::properties::tests::test_serialize_neuronalproperties ... ok [INFO] [stdout] test enecode::meta::tests::test_serialize_metalearning ... ok [INFO] [stdout] test enecode::tests::test_generate_new_topology ... ok [INFO] [stdout] test enecode::tests::test_recombine_same_everything_short_genome ... ok [INFO] [stdout] test enecode::tests::test_recombine_same_everything_long_genome ... ok [INFO] [stdout] test enecode::tests::test_new_from_enecode ... ok [INFO] [stdout] test enecode::tests::test_recombine_different_topology_compatible_genomes ... ok [INFO] [stdout] test enecode::tests::test_enecode_from_neural_network ... ok [INFO] [stdout] test enecode::tests::test_recombine_same_topology_different_genetic_bias ... ok [INFO] [stdout] test enecode::tests::test_topology_gene ... ok [INFO] [stdout] test graph::tests::test_add_new_edge ... ok [INFO] [stdout] test enecode::topology::tests::test_deserialize_topology ... ok [INFO] [stdout] test graph::tests::test_duplicate_neuron ... ok [INFO] [stdout] test graph::tests::test_mutate ... ok [INFO] [stdout] test graph::tests::test_initialize ... ok [INFO] [stdout] test graph::tests::test_mutate_synapses ... ok [INFO] [stdout] test graph::tests::test_remove_neuron ... ok [INFO] [stdout] test neuron::tests::test_mutate ... ok [INFO] [stdout] test graph::tests::test_mutate_topology ... ok [INFO] [stdout] test neuron::tests::test_output_value ... ok [INFO] [stdout] test graph::tests::test_recombine_enecode ... ok [INFO] [stdout] test enecode::tests::test_recombine_missing_gene_long_genome ... ok [INFO] [stdout] test enecode::topology::tests::test_serialize_topology ... ok [INFO] [stdout] test population::tests::test_stochastic_universal_sampling ... ok [INFO] [stdout] test population::tests::test_truncate_population ... ok [INFO] [stdout] test tests::test_increment_innovation_number ... ok [INFO] [stdout] test tests::test_progenitor_code ... ok [INFO] [stdout] test neuron::tests::test_propagate_euron ... ok [INFO] [stdout] test graph::tests::test_fwd_fetch_network_output ... ok [INFO] [stdout] test population::tests::test_generate_offspring ... ok [INFO] [stdout] test enecode::tests::test_recombine_incompatible_genomes ... ok [INFO] [stdout] test population::tests::test_create_population ... ok [INFO] [stdout] test population::tests::test_evolve_xor_predefined_topology ... ok [INFO] [stdout] test population::tests::test_evolve_xor_minimal_topology ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 18.40s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f08ff0a826ccc899c35a9feb8449535ab5a28ffdbce291ea0e6bfbfb92e3b5a0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f08ff0a826ccc899c35a9feb8449535ab5a28ffdbce291ea0e6bfbfb92e3b5a0", kill_on_drop: false }` [INFO] [stdout] f08ff0a826ccc899c35a9feb8449535ab5a28ffdbce291ea0e6bfbfb92e3b5a0