[INFO] cloning repository https://github.com/andneh/rsml
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andneh/rsml" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandneh%2Frsml", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandneh%2Frsml'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 13d0b5b976ae6ab029f7a1e123be2fcb3d7979d2
[INFO] checking andneh/rsml against master#1fe72d35998dea48aeecaf7fc07783b0b553f24f for pr-154992-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandneh%2Frsml" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/andneh/rsml
[INFO] finished tweaking git repo https://github.com/andneh/rsml
[INFO] tweaked toml for git repo https://github.com/andneh/rsml written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/andneh/rsml on toolchain 1fe72d35998dea48aeecaf7fc07783b0b553f24f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1fe72d35998dea48aeecaf7fc07783b0b553f24f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/andneh/rsml already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1fe72d35998dea48aeecaf7fc07783b0b553f24f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v1.0.67
[INFO] [stderr]   Downloaded serde_derive v1.0.188
[INFO] [stderr]   Downloaded serde v1.0.188
[INFO] [stderr]   Downloaded memchr v2.6.3
[INFO] [stderr]   Downloaded serde_json v1.0.107
[INFO] [stderr]   Downloaded syn v2.0.37
[INFO] [stderr]   Downloaded libc v0.2.148
[INFO] [stderr]   Downloaded csv v1.2.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1fe72d35998dea48aeecaf7fc07783b0b553f24f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 98a782422e1f63717895956f2079be4b8a3bc1cef17c93288d79fcdb67dc32a5
[INFO] running `Command { std: "docker" "start" "-a" "98a782422e1f63717895956f2079be4b8a3bc1cef17c93288d79fcdb67dc32a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "98a782422e1f63717895956f2079be4b8a3bc1cef17c93288d79fcdb67dc32a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "98a782422e1f63717895956f2079be4b8a3bc1cef17c93288d79fcdb67dc32a5", kill_on_drop: false }`
[INFO] [stdout] 98a782422e1f63717895956f2079be4b8a3bc1cef17c93288d79fcdb67dc32a5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1fe72d35998dea48aeecaf7fc07783b0b553f24f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1ee4e60462c979a76661a3b0411ee75e13887e333212981e669ccffe4c777a63
[INFO] running `Command { std: "docker" "start" "-a" "1ee4e60462c979a76661a3b0411ee75e13887e333212981e669ccffe4c777a63", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]    Compiling libc v0.2.148
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]     Checking memchr v2.6.3
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]    Compiling serde_json v1.0.107
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]    Compiling syn v2.0.37
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling serde_derive v1.0.188
[INFO] [stderr]     Checking csv v1.2.2
[INFO] [stderr]     Checking rsml v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected one of `!` or `::`, found `forward`
[INFO] [stdout]   --> src/model/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Model {
[INFO] [stdout]    |            - while parsing this item list starting here
[INFO] [stdout] 17 |     def forward(){
[INFO] [stdout]    |     --- ^^^^^^^ expected one of `!` or `::`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: write `fn` instead of `def` to declare a function
[INFO] [stdout] ...
[INFO] [stdout] 43 | }
[INFO] [stdout]    | - the item list ends here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]  --> src/neuron/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn forward(inputs: &Vec<f64>, weights: &Vec<f64>, bias: &f64, activation:fn(&f64) ->f64) -> Result<f64, String> {
[INFO] [stdout]   |     ^^^ help: remove the qualifier
[INFO] [stdout]   |
[INFO] [stdout]   = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `!` or `::`, found `forward`
[INFO] [stdout]   --> src/model/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Model {
[INFO] [stdout]    |            - while parsing this item list starting here
[INFO] [stdout] 17 |     def forward(){
[INFO] [stdout]    |     --- ^^^^^^^ expected one of `!` or `::`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: write `fn` instead of `def` to declare a function
[INFO] [stdout] ...
[INFO] [stdout] 43 | }
[INFO] [stdout]    | - the item list ends here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/neuron/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn backward(output: &f64, target: &f64, inputs: &Vec<f64>, weights: &mut Vec<f64>, bias: &mut f64, activation: fn(&f64) -> f...
[INFO] [stdout]    |     ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/layer/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(number_inputs: u64, number_neurons: u64, activation: fn(&f64) -> f64) -> Layer {
[INFO] [stdout]    |     ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/layer/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn load(
[INFO] [stdout]    |     ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/layer/mod.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn predict(&self, inputs: &Vec<f64>) -> Result<Vec<f64>, String> {
[INFO] [stdout]    |     ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/layer/mod.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn train(
[INFO] [stdout]    |     ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]  --> src/neuron/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn forward(inputs: &Vec<f64>, weights: &Vec<f64>, bias: &f64, activation:fn(&f64) ->f64) -> Result<f64, String> {
[INFO] [stdout]   |     ^^^ help: remove the qualifier
[INFO] [stdout]   |
[INFO] [stdout]   = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/neuron/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn backward(output: &f64, target: &f64, inputs: &Vec<f64>, weights: &mut Vec<f64>, bias: &mut f64, activation: fn(&f64) -> f...
[INFO] [stdout]    |     ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/layer/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(number_inputs: u64, number_neurons: u64, activation: fn(&f64) -> f64) -> Layer {
[INFO] [stdout]    |     ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/layer/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn load(
[INFO] [stdout]    |     ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/layer/mod.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn predict(&self, inputs: &Vec<f64>) -> Result<Vec<f64>, String> {
[INFO] [stdout]    |     ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/layer/mod.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn train(
[INFO] [stdout]    |     ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `derivation` is not a member of trait `FunctionInterface`
[INFO] [stdout]   --> src/neuron/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | /     fn derivation(x: &f64, activation:fn(&f64) ->f64) -> f64 {
[INFO] [stdout] 33 | |         let sigmoid_x = (activation)(x);
[INFO] [stdout] 34 | |         return sigmoid_x * (1.0 - sigmoid_x);
[INFO] [stdout] 35 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `FunctionInterface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `load` is not a member of trait `FunctionInterface`
[INFO] [stdout]   --> src/layer/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | /     pub fn load(
[INFO] [stdout] 32 | |         lweights: Vec<Vec<f64>>,
[INFO] [stdout] 33 | |         biases: Vec<f64>,
[INFO] [stdout] 34 | |         activation: fn(&f64) -> f64,
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |         });
[INFO] [stdout] 44 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `FunctionInterface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `predict` is not a member of trait `FunctionInterface`
[INFO] [stdout]   --> src/layer/mod.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     pub fn predict(&self, inputs: &Vec<f64>) -> Result<Vec<f64>, String> {
[INFO] [stdout] 46 | |         let mut outputs = Vec::new();
[INFO] [stdout] 47 | |         for (nweights, bias) in self.lweights.iter().zip(self.biases.iter()) {
[INFO] [stdout] 48 | |             if inputs.len() != nweights.len() {
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |         return Ok(outputs);
[INFO] [stdout] 57 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `FunctionInterface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `train` is not a member of trait `FunctionInterface`
[INFO] [stdout]   --> src/layer/mod.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | /     pub fn train(
[INFO] [stdout] 60 | |         &mut self,
[INFO] [stdout] 61 | |         inputs: &Vec<f64>,
[INFO] [stdout] 62 | |         targets: &Vec<f64>,
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |         Ok(())
[INFO] [stdout] 97 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `FunctionInterface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `derivation` is not a member of trait `FunctionInterface`
[INFO] [stdout]   --> src/neuron/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | /     fn derivation(x: &f64, activation:fn(&f64) ->f64) -> f64 {
[INFO] [stdout] 33 | |         let sigmoid_x = (activation)(x);
[INFO] [stdout] 34 | |         return sigmoid_x * (1.0 - sigmoid_x);
[INFO] [stdout] 35 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `FunctionInterface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `load` is not a member of trait `FunctionInterface`
[INFO] [stdout]   --> src/layer/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | /     pub fn load(
[INFO] [stdout] 32 | |         lweights: Vec<Vec<f64>>,
[INFO] [stdout] 33 | |         biases: Vec<f64>,
[INFO] [stdout] 34 | |         activation: fn(&f64) -> f64,
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |         });
[INFO] [stdout] 44 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `FunctionInterface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `predict` is not a member of trait `FunctionInterface`
[INFO] [stdout]   --> src/layer/mod.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     pub fn predict(&self, inputs: &Vec<f64>) -> Result<Vec<f64>, String> {
[INFO] [stdout] 46 | |         let mut outputs = Vec::new();
[INFO] [stdout] 47 | |         for (nweights, bias) in self.lweights.iter().zip(self.biases.iter()) {
[INFO] [stdout] 48 | |             if inputs.len() != nweights.len() {
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |         return Ok(outputs);
[INFO] [stdout] 57 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `FunctionInterface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `train` is not a member of trait `FunctionInterface`
[INFO] [stdout]   --> src/layer/mod.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | /     pub fn train(
[INFO] [stdout] 60 | |         &mut self,
[INFO] [stdout] 61 | |         inputs: &Vec<f64>,
[INFO] [stdout] 62 | |         targets: &Vec<f64>,
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |         Ok(())
[INFO] [stdout] 97 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `FunctionInterface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `forward` in module `super::neuron`
[INFO] [stdout]   --> src/layer/mod.rs:51:34
[INFO] [stdout]    |
[INFO] [stdout] 51 |             match super::neuron::forward(inputs, nweights, bias, self.activation) {
[INFO] [stdout]    |                                  ^^^^^^^ not found in `super::neuron`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `backward` in module `super::neuron`
[INFO] [stdout]   --> src/layer/mod.rs:71:32
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 super::neuron::backward(
[INFO] [stdout]    |                                ^^^^^^^^ not found in `super::neuron`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Layer` in this scope
[INFO] [stdout]   --> src/model/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     layers: Vec<Layer>,
[INFO] [stdout]    |                 ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::layer::Layer;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::structured::layer::Layer;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sigmoid`
[INFO] [stdout]  --> src/structured/layer.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::structured::neuron::{sigmoid, Neuron};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `seq::index`
[INFO] [stdout]  --> src/structured/layer.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{random, seq::index};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `forward` in module `super::neuron`
[INFO] [stdout]   --> src/layer/mod.rs:51:34
[INFO] [stdout]    |
[INFO] [stdout] 51 |             match super::neuron::forward(inputs, nweights, bias, self.activation) {
[INFO] [stdout]    |                                  ^^^^^^^ not found in `super::neuron`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::index::sample_weighted`
[INFO] [stdout]  --> src/layer/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::seq::index::sample_weighted;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `backward` in module `super::neuron`
[INFO] [stdout]   --> src/layer/mod.rs:71:32
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 super::neuron::backward(
[INFO] [stdout]    |                                ^^^^^^^^ not found in `super::neuron`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Layer` in this scope
[INFO] [stdout]   --> src/model/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     layers: Vec<Layer>,
[INFO] [stdout]    |                 ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::layer::Layer;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::structured::layer::Layer;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sigmoid`
[INFO] [stdout]  --> src/structured/layer.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::structured::neuron::{sigmoid, Neuron};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `seq::index`
[INFO] [stdout]  --> src/structured/layer.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{random, seq::index};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/neuron/activation.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/neuron/mod.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::index::sample_weighted`
[INFO] [stdout]  --> src/layer/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::seq::index::sample_weighted;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/model/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0186]: method `forward` has a `&self` declaration in the trait, but not in the impl
[INFO] [stdout]   --> src/neuron/mod.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  7 |     pub fn forward(inputs: &Vec<f64>, weights: &Vec<f64>, bias: &f64, activation:fn(&f64) ->f64) -> Result<f64, String> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&self` in impl
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn forward(&self, x: &f64) -> f64;
[INFO] [stdout]    |     ---------------------------------- `&self` used in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0186]: method `forward` has a `&self` declaration in the trait, but not in the impl
[INFO] [stdout]   --> src/neuron/mod.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  7 |     pub fn forward(inputs: &Vec<f64>, weights: &Vec<f64>, bias: &f64, activation:fn(&f64) ->f64) -> Result<f64, String> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&self` in impl
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn forward(&self, x: &f64) -> f64;
[INFO] [stdout]    |     ---------------------------------- `&self` used in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0186]: method `backward` has a `&self` declaration in the trait, but not in the impl
[INFO] [stdout]   --> src/neuron/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn backward(output: &f64, target: &f64, inputs: &Vec<f64>, weights: &mut Vec<f64>, bias: &mut f64, activation: fn(&f64) -> f64, learning_rate: f64) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&self` in impl
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn backward(&self, x: &f64) -> f64;
[INFO] [stdout]    |     ----------------------------------- `&self` used in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0186]: method `backward` has a `&self` declaration in the trait, but not in the impl
[INFO] [stdout]   --> src/neuron/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn backward(output: &f64, target: &f64, inputs: &Vec<f64>, weights: &mut Vec<f64>, bias: &mut f64, activation: fn(&f64) -> f64, learning_rate: f64) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&self` in impl
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn backward(&self, x: &f64) -> f64;
[INFO] [stdout]    |     ----------------------------------- `&self` used in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `new`
[INFO] [stdout]   --> src/neuron/mod.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl FunctionInterface for Neuron{
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `new` in implementation
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn new() -> Self;
[INFO] [stdout]    |     ----------------- `new` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `new`
[INFO] [stdout]   --> src/neuron/mod.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl FunctionInterface for Neuron{
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `new` in implementation
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn new() -> Self;
[INFO] [stdout]    |     ----------------- `new` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `new` has 3 parameters but the declaration in trait `FunctionInterface::new` has 0
[INFO] [stdout]   --> src/layer/mod.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(number_inputs: u64, number_neurons: u64, activation: fn(&f64) -> f64) -> Layer {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 0 parameters, found 3
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn new() -> Self;
[INFO] [stdout]    |     ----------------- trait requires 0 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `new` has 3 parameters but the declaration in trait `FunctionInterface::new` has 0
[INFO] [stdout]   --> src/layer/mod.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(number_inputs: u64, number_neurons: u64, activation: fn(&f64) -> f64) -> Layer {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 0 parameters, found 3
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn new() -> Self;
[INFO] [stdout]    |     ----------------- trait requires 0 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `forward`, `backward`
[INFO] [stdout]   --> src/layer/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl FunctionInterface for Layer{
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `forward`, `backward` in implementation
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn forward(&self, x: &f64) -> f64;
[INFO] [stdout]    |     ---------------------------------- `forward` from trait
[INFO] [stdout] 12 |     fn backward(&self, x: &f64) -> f64;
[INFO] [stdout]    |     ----------------------------------- `backward` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `forward`, `backward`
[INFO] [stdout]   --> src/layer/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl FunctionInterface for Layer{
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `forward`, `backward` in implementation
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn forward(&self, x: &f64) -> f64;
[INFO] [stdout]    |     ---------------------------------- `forward` from trait
[INFO] [stdout] 12 |     fn backward(&self, x: &f64) -> f64;
[INFO] [stdout]    |     ----------------------------------- `backward` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `derivation` in this scope
[INFO] [stdout]   --> src/neuron/mod.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let delta = error * derivation(output, activation);
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 25 -         let delta = error * derivation(output, activation);
[INFO] [stdout] 25 +         let delta = error * activation(output, activation);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `predict` found for mutable reference `&mut layer::Layer` in the current scope
[INFO] [stdout]   --> src/layer/mod.rs:69:31
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let output = self.predict(inputs).unwrap();
[INFO] [stdout]    |                               ^^^^^^^ method not found in `&mut layer::Layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `derivation` in this scope
[INFO] [stdout]   --> src/neuron/mod.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let delta = error * derivation(output, activation);
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 25 -         let delta = error * derivation(output, activation);
[INFO] [stdout] 25 +         let delta = error * activation(output, activation);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `predict` found for mutable reference `&mut layer::Layer` in the current scope
[INFO] [stdout]   --> src/layer/mod.rs:69:31
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let output = self.predict(inputs).unwrap();
[INFO] [stdout]    |                               ^^^^^^^ method not found in `&mut layer::Layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/layer/mod.rs:113:39
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let layer = Layer::new(2, 3, |x| 1.0 / (1.0 + (-x).exp()) );
[INFO] [stdout]     |                                       ^               ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let layer = Layer::new(2, 3, |x: /* Type */| 1.0 / (1.0 + (-x).exp()) );
[INFO] [stdout]     |                                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/layer/mod.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let layer = Layer::new(2, 3, |x| 1.0 / (1.0 + (-x).exp()) );
[INFO] [stdout]     |                     ^^^^^^^^^^ -  -  ---------------------------- unexpected argument #3
[INFO] [stdout]     |                                |  |
[INFO] [stdout]     |                                |  unexpected argument #2 of type `{integer}`
[INFO] [stdout]     |                                unexpected argument #1 of type `{integer}`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/lib.rs:10:8
[INFO] [stdout]     |
[INFO] [stdout]  10 |     fn new() -> Self;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout] 113 -         let layer = Layer::new(2, 3, |x| 1.0 / (1.0 + (-x).exp()) );
[INFO] [stdout] 113 +         let layer = Layer::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `targets`
[INFO] [stdout]   --> src/datasets/iris_csv.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 |             Ok((inputs, targets)) => {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_targets`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0050, E0061, E0186, E0282, E0407, E0425, E0449, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rsml` (lib test) due to 23 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0046, E0050, E0186, E0407, E0425, E0449, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rsml` (lib) due to 21 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1ee4e60462c979a76661a3b0411ee75e13887e333212981e669ccffe4c777a63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ee4e60462c979a76661a3b0411ee75e13887e333212981e669ccffe4c777a63", kill_on_drop: false }`
[INFO] [stdout] 1ee4e60462c979a76661a3b0411ee75e13887e333212981e669ccffe4c777a63
