[INFO] fetching crate evo-rl 0.1.0-alpha.4... [INFO] checking evo-rl-0.1.0-alpha.4 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] extracting crate evo-rl 0.1.0-alpha.4 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate evo-rl 0.1.0-alpha.4 on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate evo-rl 0.1.0-alpha.4 [INFO] finished tweaking crates.io crate evo-rl 0.1.0-alpha.4 [INFO] tweaked toml for crates.io crate evo-rl 0.1.0-alpha.4 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 95 packages to latest compatible versions [INFO] [stderr] Adding env_logger v0.10.2 (available: v0.11.5) [INFO] [stderr] Adding fixedbitset v0.4.2 (available: v0.5.7) [INFO] [stderr] Adding heck v0.4.1 (available: v0.5.0) [INFO] [stderr] Adding nalgebra v0.32.6 (available: v0.33.0) [INFO] [stderr] Adding ndarray v0.15.6 (available: v0.16.1) [INFO] [stderr] Adding pyo3 v0.20.3 (available: v0.22.3) [INFO] [stderr] Adding pyo3-build-config v0.20.3 (available: v0.22.3) [INFO] [stderr] Adding pyo3-build-config v0.21.2 (available: v0.22.3) [INFO] [stderr] Adding pyo3-ffi v0.20.3 (available: v0.22.3) [INFO] [stderr] Adding pyo3-log v0.9.0 (available: v0.11.0) [INFO] [stderr] Adding pyo3-macros v0.20.3 (available: v0.22.3) [INFO] [stderr] Adding pyo3-macros-backend v0.20.3 (available: v0.22.3) [INFO] [stderr] Adding rand_seeder v0.2.3 (available: v0.3.0) [INFO] [stderr] Adding simba v0.8.1 (available: v0.9.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 921bd30da4b21e00ea879434b8a01bb95bd3731f5447e9fc4a651a4db51f692d [INFO] running `Command { std: "docker" "start" "-a" "921bd30da4b21e00ea879434b8a01bb95bd3731f5447e9fc4a651a4db51f692d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "921bd30da4b21e00ea879434b8a01bb95bd3731f5447e9fc4a651a4db51f692d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "921bd30da4b21e00ea879434b8a01bb95bd3731f5447e9fc4a651a4db51f692d", kill_on_drop: false }` [INFO] [stdout] 921bd30da4b21e00ea879434b8a01bb95bd3731f5447e9fc4a651a4db51f692d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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 -Dtail_expr_drop_order" "-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3d8cac73abbbf07d036de37a8d1b8366923c1f1aff3bc9de454192b7a5871eae [INFO] running `Command { std: "docker" "start" "-a" "3d8cac73abbbf07d036de37a8d1b8366923c1f1aff3bc9de454192b7a5871eae", kill_on_drop: false }` [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling libm v0.2.8 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling matrixmultiply v0.3.9 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Checking bytemuck v1.18.0 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Compiling portable-atomic v1.9.0 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking safe_arch v0.7.2 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Checking unindent v0.2.3 [INFO] [stderr] Compiling nalgebra-macros v0.2.2 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Checking arc-swap v1.7.1 [INFO] [stderr] Checking rand_seeder v0.2.3 [INFO] [stderr] Checking assert_matches v1.5.0 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling pyo3-build-config v0.20.3 [INFO] [stderr] Compiling pyo3-build-config v0.21.2 [INFO] [stderr] Checking wide v0.7.28 [INFO] [stderr] Checking thiserror v1.0.64 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Compiling pyo3-macros-backend v0.20.3 [INFO] [stderr] Compiling pyo3-ffi v0.20.3 [INFO] [stderr] Compiling pyo3 v0.20.3 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Compiling evo-rl v0.1.0-alpha.4 (/opt/rustwide/workdir) [INFO] [stderr] Checking simba v0.8.1 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Compiling pyo3-macros v0.20.3 [INFO] [stderr] Checking pretty_env_logger v0.5.0 [INFO] [stderr] Checking ndarray v0.15.6 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Checking pyo3-log v0.9.0 [INFO] [stderr] Checking 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)]` 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)]` 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:70:22 [INFO] [stdout] | [INFO] [stdout] 70 | enum Field { Innovation_Number, 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:70:46 [INFO] [stdout] | [INFO] [stdout] 70 | enum Field { Innovation_Number, 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:70:65 [INFO] [stdout] | [INFO] [stdout] 70 | enum Field { Innovation_Number, 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: `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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IntoPyDict`, `PyFloat`, `PyFunction`, and `PyTuple` [INFO] [stdout] --> src/python_api.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | use pyo3::types::{PyFunction, PyDict, PyList, IntoPyDict, PyTuple, PyFloat}; [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: unused import: `std::fs::File` [INFO] [stdout] --> src/python_api.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs::File; [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)]` 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: unused imports: `Read` and `self` [INFO] [stdout] --> src/python_api.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | 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/properties.rs:70:22 [INFO] [stdout] | [INFO] [stdout] 70 | enum Field { Innovation_Number, Tau, Homeostatic_Force, Tanh_Alpha} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InnovationNumber` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/python_api.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Homeostatic_Force` should have an upper camel case name [INFO] [stdout] --> src/enecode/properties.rs:70:46 [INFO] [stdout] | [INFO] [stdout] 70 | enum Field { Innovation_Number, Tau, Homeostatic_Force, Tanh_Alpha} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HomeostaticForce` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Cell` [INFO] [stdout] --> src/python_api.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::cell::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::graph::NeuralNetwork` [INFO] [stdout] --> src/python_api.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::graph::NeuralNetwork; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::agent_wrapper::*` [INFO] [stdout] --> src/python_api.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::agent_wrapper::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FitnessValueError` [INFO] [stdout] --> src/python_api.rs:15:55 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::population::{Population, PopulationConfig, FitnessValueError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Tanh_Alpha` should have an upper camel case name [INFO] [stdout] --> src/enecode/properties.rs:70:65 [INFO] [stdout] | [INFO] [stdout] 70 | enum Field { Innovation_Number, 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: `IntoPyDict`, `PyFloat`, `PyFunction`, and `PyTuple` [INFO] [stdout] --> src/python_api.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | use pyo3::types::{PyFunction, PyDict, PyList, IntoPyDict, PyTuple, PyFloat}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/python_api.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read` and `self` [INFO] [stdout] --> src/python_api.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{self, Read}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/python_api.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Cell` [INFO] [stdout] --> src/python_api.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::cell::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::graph::NeuralNetwork` [INFO] [stdout] --> src/python_api.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::graph::NeuralNetwork; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::agent_wrapper::*` [INFO] [stdout] --> src/python_api.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::agent_wrapper::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FitnessValueError` [INFO] [stdout] --> src/python_api.rs:15:55 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::population::{Population, PopulationConfig, FitnessValueError}; [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)]` 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)]` 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/python_api.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub struct PopulationApi { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 112 | pop_config: Py [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)]` 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:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | 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] 40 | 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:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | 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] 41 | 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:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | 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] 42 | 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:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | 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] 43 | 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/python_api.rs:115:1 [INFO] [stdout] | [INFO] [stdout] 115 | #[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] 116 | 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: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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: 49 warnings emitted [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)]` 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pop_config` is never read [INFO] [stdout] --> src/python_api.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub struct PopulationApi { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 112 | pop_config: Py [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)]` 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:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | 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] 40 | 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:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | 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] 41 | 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:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | 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] 42 | 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:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | 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] 43 | 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/python_api.rs:115:1 [INFO] [stdout] | [INFO] [stdout] 115 | #[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] 116 | 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: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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: 46 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 39.02s [INFO] running `Command { std: "docker" "inspect" "3d8cac73abbbf07d036de37a8d1b8366923c1f1aff3bc9de454192b7a5871eae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d8cac73abbbf07d036de37a8d1b8366923c1f1aff3bc9de454192b7a5871eae", kill_on_drop: false }` [INFO] [stdout] 3d8cac73abbbf07d036de37a8d1b8366923c1f1aff3bc9de454192b7a5871eae