[INFO] cloning repository https://github.com/jdumont0201/rust-neural-network [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jdumont0201/rust-neural-network" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdumont0201%2Frust-neural-network", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdumont0201%2Frust-neural-network'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3c23fa61b5dfc4a54a307054cfca542d09db9eb4 [INFO] checking jdumont0201/rust-neural-network against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdumont0201%2Frust-neural-network" "/workspace/builds/worker-0/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jdumont0201/rust-neural-network on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jdumont0201/rust-neural-network [INFO] finished tweaking git repo https://github.com/jdumont0201/rust-neural-network [INFO] tweaked toml for git repo https://github.com/jdumont0201/rust-neural-network written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/jdumont0201/rust-neural-network already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5959f795772f344a0c6290a7bdb56e690e217214be157962a9521ec16ffec477 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "5959f795772f344a0c6290a7bdb56e690e217214be157962a9521ec16ffec477", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5959f795772f344a0c6290a7bdb56e690e217214be157962a9521ec16ffec477", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5959f795772f344a0c6290a7bdb56e690e217214be157962a9521ec16ffec477", kill_on_drop: false }` [INFO] [stdout] 5959f795772f344a0c6290a7bdb56e690e217214be157962a9521ec16ffec477 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1695a40de1a7b93e63caf41e5ff267221bcddaaf5e8d0fa086655ebf7bc9df2e [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "1695a40de1a7b93e63caf41e5ff267221bcddaaf5e8d0fa086655ebf7bc9df2e", kill_on_drop: false }` [INFO] [stderr] Checking libc v0.2.40 [INFO] [stderr] Checking rand v0.4.2 [INFO] [stderr] Checking neuralnetwork v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/utils/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | _=>{val } [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> src/neuron/mod.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | for (idx, n) in T.layers[self.layer_id + 1].neurons.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/utils/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | _=>{val } [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> src/neuron/mod.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | for (idx, n) in T.layers[self.layer_id + 1].neurons.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/topology/mod.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 152 | let mut LL = self.layers.get_mut(layer_id).unwrap(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `compute_output` [INFO] [stdout] --> src/neuron/mod.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn compute_output(&mut self, L: &Layer) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `sum_of_DOW` [INFO] [stdout] --> src/neuron/mod.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn sum_of_DOW(&self, T: &Topology) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `compute_outputs` [INFO] [stdout] --> src/layer/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn compute_outputs(&mut self,prev:&Layer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get` [INFO] [stdout] --> src/topology/mod.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn get(&self, layer_nb: usize, neuron_nb: usize) -> Option<&Neuron> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_mut` [INFO] [stdout] --> src/topology/mod.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn get_mut(&mut self, layer_nb: usize, neuron_nb: usize) -> Option<&Neuron> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `compute_errors` [INFO] [stdout] --> src/topology/mod.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn compute_errors(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BINARY` [INFO] [stdout] --> src/utils/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | BINARY, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EXPONENTIAL` [INFO] [stdout] --> src/utils/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | EXPONENTIAL, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `TANH` [INFO] [stdout] --> src/utils/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | TANH [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/main.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let mut T: Topology = Topology { layers: Vec::new(),targets:Vec::new(),error:1. }; [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/neuron/mod.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn compute_output(&mut self, L: &Layer) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `sum_of_DOW` should have a snake case name [INFO] [stdout] --> src/neuron/mod.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn sum_of_DOW(&self, T: &Topology) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `sum_of_dow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/neuron/mod.rs:49:30 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn sum_of_DOW(&self, T: &Topology) -> f64 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:54:38 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn create_neurons(&mut self, T: Vec) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | let L = &mut self.layers; [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:82:29 [INFO] [stdout] | [INFO] [stdout] 82 | let mut I = Vec::new(); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:92:29 [INFO] [stdout] | [INFO] [stdout] 92 | let mut I = Vec::new(); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | let L = &self.layers; [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:123:21 [INFO] [stdout] | [INFO] [stdout] 123 | let L = self.layers.get(layer_id).unwrap(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `LL` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:152:25 [INFO] [stdout] | [INFO] [stdout] 152 | let mut LL = self.layers.get_mut(layer_id).unwrap(); [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ll` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | let N = self.layers.last().unwrap().neurons.len() as f64; [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/topology/mod.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 152 | let mut LL = self.layers.get_mut(layer_id).unwrap(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `compute_output` [INFO] [stdout] --> src/neuron/mod.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn compute_output(&mut self, L: &Layer) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `sum_of_DOW` [INFO] [stdout] --> src/neuron/mod.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn sum_of_DOW(&self, T: &Topology) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `compute_outputs` [INFO] [stdout] --> src/layer/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn compute_outputs(&mut self,prev:&Layer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get` [INFO] [stdout] --> src/topology/mod.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn get(&self, layer_nb: usize, neuron_nb: usize) -> Option<&Neuron> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_mut` [INFO] [stdout] --> src/topology/mod.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn get_mut(&mut self, layer_nb: usize, neuron_nb: usize) -> Option<&Neuron> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `compute_errors` [INFO] [stdout] --> src/topology/mod.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn compute_errors(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BINARY` [INFO] [stdout] --> src/utils/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | BINARY, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EXPONENTIAL` [INFO] [stdout] --> src/utils/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | EXPONENTIAL, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `TANH` [INFO] [stdout] --> src/utils/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | TANH [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/main.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let mut T: Topology = Topology { layers: Vec::new(),targets:Vec::new(),error:1. }; [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/neuron/mod.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn compute_output(&mut self, L: &Layer) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `sum_of_DOW` should have a snake case name [INFO] [stdout] --> src/neuron/mod.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn sum_of_DOW(&self, T: &Topology) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `sum_of_dow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/neuron/mod.rs:49:30 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn sum_of_DOW(&self, T: &Topology) -> f64 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:54:38 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn create_neurons(&mut self, T: Vec) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | let L = &mut self.layers; [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:82:29 [INFO] [stdout] | [INFO] [stdout] 82 | let mut I = Vec::new(); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:92:29 [INFO] [stdout] | [INFO] [stdout] 92 | let mut I = Vec::new(); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | let L = &self.layers; [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:123:21 [INFO] [stdout] | [INFO] [stdout] 123 | let L = self.layers.get(layer_id).unwrap(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `LL` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:152:25 [INFO] [stdout] | [INFO] [stdout] 152 | let mut LL = self.layers.get_mut(layer_id).unwrap(); [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ll` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> src/topology/mod.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | let N = self.layers.last().unwrap().neurons.len() as f64; [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.42s [INFO] running `Command { std: "docker" "inspect" "1695a40de1a7b93e63caf41e5ff267221bcddaaf5e8d0fa086655ebf7bc9df2e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1695a40de1a7b93e63caf41e5ff267221bcddaaf5e8d0fa086655ebf7bc9df2e", kill_on_drop: false }` [INFO] [stdout] 1695a40de1a7b93e63caf41e5ff267221bcddaaf5e8d0fa086655ebf7bc9df2e