[INFO] cloning repository https://github.com/christopher-wilke/fynn
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/christopher-wilke/fynn" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchristopher-wilke%2Ffynn", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchristopher-wilke%2Ffynn'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b1a60da09e232a0b75429538e8f10191db3f2e93
[INFO] checking christopher-wilke/fynn against master#fce0e74720d199eb7839fdb51af35ac5226da178 for pr-145262
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchristopher-wilke%2Ffynn" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/christopher-wilke/fynn
[INFO] finished tweaking git repo https://github.com/christopher-wilke/fynn
[INFO] tweaked toml for git repo https://github.com/christopher-wilke/fynn written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/christopher-wilke/fynn on toolchain fce0e74720d199eb7839fdb51af35ac5226da178
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fce0e74720d199eb7839fdb51af35ac5226da178" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/christopher-wilke/fynn 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" "+fce0e74720d199eb7839fdb51af35ac5226da178" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand_distr v0.5.0-alpha.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+fce0e74720d199eb7839fdb51af35ac5226da178" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 05725c7314b349464dd9afd66ea6b91273c7ed73d4a93999ad00e8a6c91da5db
[INFO] running `Command { std: "docker" "start" "-a" "05725c7314b349464dd9afd66ea6b91273c7ed73d4a93999ad00e8a6c91da5db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "05725c7314b349464dd9afd66ea6b91273c7ed73d4a93999ad00e8a6c91da5db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05725c7314b349464dd9afd66ea6b91273c7ed73d4a93999ad00e8a6c91da5db", kill_on_drop: false }`
[INFO] [stdout] 05725c7314b349464dd9afd66ea6b91273c7ed73d4a93999ad00e8a6c91da5db
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+fce0e74720d199eb7839fdb51af35ac5226da178" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b2f8e841f71f02d1cac411a7d514b13a47d6a19050c45f4e71f06f8e8fca6608
[INFO] running `Command { std: "docker" "start" "-a" "b2f8e841f71f02d1cac411a7d514b13a47d6a19050c45f4e71f06f8e8fca6608", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling zerocopy v0.8.0-alpha.6
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking anstyle-query v1.0.2
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking anstyle-parse v0.2.3
[INFO] [stderr]     Checking anstream v0.6.13
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking rand_core v0.9.0-alpha.1
[INFO] [stderr]     Checking rand_chacha v0.9.0-alpha.1
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking rand v0.9.0-alpha.1
[INFO] [stderr]     Checking rand_distr v0.5.0-alpha.1
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]     Checking env_logger v0.11.3
[INFO] [stderr]     Checking fynn v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `any::Any`
[INFO] [stdout]  --> src/importer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     any::Any,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::BorrowMut`
[INFO] [stdout]  --> src/layer_dense.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{borrow::BorrowMut, fmt::Debug};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::distributions::Weight`
[INFO] [stdout]  --> src/math_helpers.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::distributions::Weight;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Activation` and `softmax::*`
[INFO] [stdout]  --> src/main.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use activations::{relu::*, softmax::*, Activation};
[INFO] [stdout]   |                            ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `layer_dense::LayerDense`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use layer_dense::LayerDense;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Loss`, `categorical_crossentropy::LossCategoricalCrossentropy`, and `fynn_bias::FynnBias`
[INFO] [stdout]   --> src/main.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{fynn_bias::FynnBias, loss::{categorical_crossentropy::LossCategoricalCrossentropy, Loss}};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any::Any`
[INFO] [stdout]  --> src/importer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     any::Any,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::BorrowMut`
[INFO] [stdout]  --> src/layer_dense.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{borrow::BorrowMut, fmt::Debug};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::distributions::Weight`
[INFO] [stdout]  --> src/math_helpers.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::distributions::Weight;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Activation` and `softmax::*`
[INFO] [stdout]  --> src/main.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use activations::{relu::*, softmax::*, Activation};
[INFO] [stdout]   |                            ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `layer_dense::LayerDense`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use layer_dense::LayerDense;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Loss`, `categorical_crossentropy::LossCategoricalCrossentropy`, and `fynn_bias::FynnBias`
[INFO] [stdout]   --> src/main.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{fynn_bias::FynnBias, loss::{categorical_crossentropy::LossCategoricalCrossentropy, Loss}};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut dvalues = FynnArray { matrix: vec![
[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: trait `Activation` is never used
[INFO] [stdout]  --> src/activations/mod.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait Activation {
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ActivationSoftmax` is never constructed
[INFO] [stdout]  --> src/activations/softmax.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ActivationSoftmax;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Importer` is never constructed
[INFO] [stdout]   --> src/importer.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Importer {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_files`, `to_f64_by_whitespace`, `first_char_to_u32`, `get_x`, `get_y`, and `input_converter` are never used
[INFO] [stdout]   --> src/importer.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Importer {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 23 |     pub fn from_files(input: &str, y_true: &str) -> (FynnArray, Vec<u32>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn to_f64_by_whitespace(v: String) -> Vec<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn first_char_to_u32(v: String) -> Option<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn get_x(pointer: Lines<BufReader<File>>) -> FynnArray {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn get_y(pointer: Lines<BufReader<File>>) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn input_converter(values: Vec<f64>) -> FynnArray {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LayerDense` is never constructed
[INFO] [stdout]  --> src/layer_dense.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct LayerDense {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `fwd`, and `bwd` are never used
[INFO] [stdout]   --> src/layer_dense.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl LayerDense {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(n_inputs: usize, n_neurons: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn fwd(&self, inputs: &FynnArray) -> FynnArray {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn bwd(&self, drelu: &FynnArray) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Loss` is never used
[INFO] [stdout]  --> src/loss/mod.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Loss {
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LossCategoricalCrossentropy` is never constructed
[INFO] [stdout]  --> src/loss/categorical_crossentropy.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct LossCategoricalCrossentropy;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MathHelpers` is never constructed
[INFO] [stdout]  --> src/math_helpers.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct MathHelpers;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/math_helpers.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl MathHelpers {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout]  11 |     pub fn mean(a: &Vec<u32>, b: &Vec<u32>) -> f64 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  21 |     pub fn argmax(v: FynnArray) -> Vec<u32> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  35 |     pub fn clip(input: &mut FynnArray, min: f64, max: f64) -> Vec<Vec<f64>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn dot(inputs: &FynnArray, weights: &FynnArray) -> FynnArray {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn sum(input: &Vec<Vec<f64>>) -> Vec<f64> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn max(input: &FynnArray) -> Vec<Vec<f64>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn exp(val: &FynnArray) -> Vec<Vec<f64>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn rand_biases(w: usize) -> FynnBias {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]   --> src/importer.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub X: f64,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Y` should have a snake case name
[INFO] [stdout]   --> src/importer.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub Y: f64,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut dvalues = FynnArray { matrix: vec![
[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: trait `Activation` is never used
[INFO] [stdout]  --> src/activations/mod.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait Activation {
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ActivationSoftmax` is never constructed
[INFO] [stdout]  --> src/activations/softmax.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ActivationSoftmax;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Importer` is never constructed
[INFO] [stdout]   --> src/importer.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Importer {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_files`, `to_f64_by_whitespace`, `first_char_to_u32`, `get_x`, `get_y`, and `input_converter` are never used
[INFO] [stdout]   --> src/importer.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Importer {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 23 |     pub fn from_files(input: &str, y_true: &str) -> (FynnArray, Vec<u32>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn to_f64_by_whitespace(v: String) -> Vec<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn first_char_to_u32(v: String) -> Option<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn get_x(pointer: Lines<BufReader<File>>) -> FynnArray {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn get_y(pointer: Lines<BufReader<File>>) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn input_converter(values: Vec<f64>) -> FynnArray {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LayerDense` is never constructed
[INFO] [stdout]  --> src/layer_dense.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct LayerDense {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `fwd`, and `bwd` are never used
[INFO] [stdout]   --> src/layer_dense.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl LayerDense {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(n_inputs: usize, n_neurons: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn fwd(&self, inputs: &FynnArray) -> FynnArray {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn bwd(&self, drelu: &FynnArray) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Loss` is never used
[INFO] [stdout]  --> src/loss/mod.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Loss {
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LossCategoricalCrossentropy` is never constructed
[INFO] [stdout]  --> src/loss/categorical_crossentropy.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct LossCategoricalCrossentropy;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MathHelpers` is never constructed
[INFO] [stdout]  --> src/math_helpers.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct MathHelpers;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/math_helpers.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl MathHelpers {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout]  11 |     pub fn mean(a: &Vec<u32>, b: &Vec<u32>) -> f64 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  21 |     pub fn argmax(v: FynnArray) -> Vec<u32> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  35 |     pub fn clip(input: &mut FynnArray, min: f64, max: f64) -> Vec<Vec<f64>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn dot(inputs: &FynnArray, weights: &FynnArray) -> FynnArray {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn sum(input: &Vec<Vec<f64>>) -> Vec<f64> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn max(input: &FynnArray) -> Vec<Vec<f64>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn exp(val: &FynnArray) -> Vec<Vec<f64>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn rand_biases(w: usize) -> FynnBias {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]   --> src/importer.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub X: f64,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Y` should have a snake case name
[INFO] [stdout]   --> src/importer.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub Y: f64,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.65s
[INFO] running `Command { std: "docker" "inspect" "b2f8e841f71f02d1cac411a7d514b13a47d6a19050c45f4e71f06f8e8fca6608", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2f8e841f71f02d1cac411a7d514b13a47d6a19050c45f4e71f06f8e8fca6608", kill_on_drop: false }`
[INFO] [stdout] b2f8e841f71f02d1cac411a7d514b13a47d6a19050c45f4e71f06f8e8fca6608
