[INFO] fetching crate evo-rl 0.1.0-alpha.4... [INFO] checking evo-rl-0.1.0-alpha.4 against master#38352b01ae4af9300be03b805d6db68c45e51068 for pr-129864 [INFO] extracting crate evo-rl 0.1.0-alpha.4 into /workspace/builds/worker-4-tc1/source [INFO] validating manifest of crates.io crate evo-rl 0.1.0-alpha.4 on toolchain 38352b01ae4af9300be03b805d6db68c45e51068 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "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-4-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "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" "+38352b01ae4af9300be03b805d6db68c45e51068" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded pyo3-macros v0.20.3 [INFO] [stderr] Downloaded pyo3-log v0.9.0 [INFO] [stderr] Downloaded pyo3-macros-backend v0.20.3 [INFO] [stderr] Downloaded pyo3-ffi v0.20.3 [INFO] [stderr] Downloaded rand_seeder v0.2.3 [INFO] [stderr] Downloaded pyo3-build-config v0.20.3 [INFO] [stderr] Downloaded pyo3 v0.20.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 049e2067fbb9d657998eab3cd6ddaaec8240e964ca4eb69aae4d4d91ce4f47b5 [INFO] running `Command { std: "docker" "start" "-a" "049e2067fbb9d657998eab3cd6ddaaec8240e964ca4eb69aae4d4d91ce4f47b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "049e2067fbb9d657998eab3cd6ddaaec8240e964ca4eb69aae4d4d91ce4f47b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "049e2067fbb9d657998eab3cd6ddaaec8240e964ca4eb69aae4d4d91ce4f47b5", kill_on_drop: false }` [INFO] [stdout] 049e2067fbb9d657998eab3cd6ddaaec8240e964ca4eb69aae4d4d91ce4f47b5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f15faefe1380053ab336ac0b74445cb9b8fb1b53759c7767ccb8ac5b09438ebe [INFO] running `Command { std: "docker" "start" "-a" "f15faefe1380053ab336ac0b74445cb9b8fb1b53759c7767ccb8ac5b09438ebe", kill_on_drop: false }` [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling matrixmultiply v0.3.9 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Checking bytemuck v1.18.0 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling portable-atomic v1.8.0 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking safe_arch v0.7.2 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking unindent v0.2.3 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking arc-swap v1.7.1 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking wide v0.7.28 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking assert_matches v1.5.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Compiling pyo3-build-config v0.20.3 [INFO] [stderr] Compiling pyo3-build-config v0.21.2 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking indexmap v2.5.0 [INFO] [stderr] Checking rand_seeder v0.2.3 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking simba v0.8.1 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Compiling evo-rl v0.1.0-alpha.4 (/opt/rustwide/workdir) [INFO] [stderr] Compiling pyo3-ffi v0.20.3 [INFO] [stderr] Compiling pyo3 v0.20.3 [INFO] [stderr] Compiling pyo3-macros-backend v0.20.3 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling nalgebra-macros v0.2.2 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking pretty_env_logger v0.5.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling pyo3-macros v0.20.3 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking nalgebra v0.32.6 [INFO] [stderr] Checking pyo3-log v0.9.0 [INFO] [stderr] Checking ndarray v0.15.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: 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 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/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: 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: 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: 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 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: 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: `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: 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 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: 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: 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: 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: 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: 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: `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: `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: `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: `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::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: `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: `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 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 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 `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: 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: 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: 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 29.35s [INFO] running `Command { std: "docker" "inspect" "f15faefe1380053ab336ac0b74445cb9b8fb1b53759c7767ccb8ac5b09438ebe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f15faefe1380053ab336ac0b74445cb9b8fb1b53759c7767ccb8ac5b09438ebe", kill_on_drop: false }` [INFO] [stdout] f15faefe1380053ab336ac0b74445cb9b8fb1b53759c7767ccb8ac5b09438ebe