[INFO] cloning repository https://github.com/DeadNikol/rust-nn
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DeadNikol/rust-nn" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDeadNikol%2Frust-nn", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDeadNikol%2Frust-nn'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c948cdfbbee400c762490925fa3d2adfec3209e9
[INFO] checking DeadNikol/rust-nn against f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1 for pr-160235-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDeadNikol%2Frust-nn" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DeadNikol/rust-nn
[INFO] finished tweaking git repo https://github.com/DeadNikol/rust-nn
[INFO] tweaked toml for git repo https://github.com/DeadNikol/rust-nn written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DeadNikol/rust-nn on toolchain f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DeadNikol/rust-nn 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" "+f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: binary `NN` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /workspace/builds/worker-0-tc2/source/target/.../NN
[INFO] [stderr]    |                                                  ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `nn`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 - name = "NN"
[INFO] [stderr] 10 + name = "nn"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `nn`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 ~ version = "0.1.0"
[INFO] [stderr] 12 + [[bin]]
[INFO] [stderr] 13 + name = "nn"
[INFO] [stderr] 14 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `NN` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5cf70838c13ae6345ecf84fedfb08a94f2e148c8820918f7b1b3c43f5462a799
[INFO] running `Command { std: "docker" "start" "5cf70838c13ae6345ecf84fedfb08a94f2e148c8820918f7b1b3c43f5462a799", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5cf70838c13ae6345ecf84fedfb08a94f2e148c8820918f7b1b3c43f5462a799", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5cf70838c13ae6345ecf84fedfb08a94f2e148c8820918f7b1b3c43f5462a799" "/opt/rustwide/cargo-home/bin/cargo" "+f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5cf70838c13ae6345ecf84fedfb08a94f2e148c8820918f7b1b3c43f5462a799", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5cf70838c13ae6345ecf84fedfb08a94f2e148c8820918f7b1b3c43f5462a799" "/opt/rustwide/cargo-home/bin/cargo" "+f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: binary `NN` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /opt/rustwide/target/.../NN
[INFO] [stderr]    |                          ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `nn`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 - name = "NN"
[INFO] [stderr] 10 + name = "nn"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `nn`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 ~ version = "0.1.0"
[INFO] [stderr] 12 + [[bin]]
[INFO] [stderr] 13 + name = "nn"
[INFO] [stderr] 14 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `NN` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking dlib v0.5.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]    Compiling pathfinder_simd v0.5.6
[INFO] [stderr]     Checking jpeg-decoder v0.3.2
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v6.0.1
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling font-kit v0.14.3
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking float-ord v0.3.2
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]     Checking plotters-bitmap v0.3.7
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]     Checking NN v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `clone` and `env::current_exe`
[INFO] [stdout]  --> src/tensor.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clone,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 9 |     env::current_exe,
[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: `core::panic`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `process::Output`, and `rc::Rc`
[INFO] [stdout]  --> src/main.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{cell::RefCell, process::Output, rc::Rc, time::Instant};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Itertools`, `Position::Last`, `iproduct`, and `max`
[INFO] [stdout]  --> src/main.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use itertools::{Itertools, Position::Last, iproduct, max};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `plotters::style::TextStyle`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use plotters::style::TextStyle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::RngExt`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::RngExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `slice::ParallelSlice`, `vec`, and `yield_local`
[INFO] [stdout]  --> src/main.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rayon::{iter::ParallelIterator, slice::ParallelSlice, vec, yield_local};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^  ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Network`
[INFO] [stdout]   --> src/main.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::network::{Loss, Network};
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Operation` and `Tensor`
[INFO] [stdout]  --> src/graph.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tensor::{Operation, Tensor, TensorData};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/network.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 |     batch_iterator::{self, BatchIterator},
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clone` and `env::current_exe`
[INFO] [stdout]  --> src/tensor.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clone,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 9 |     env::current_exe,
[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: `core::panic`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `process::Output`, and `rc::Rc`
[INFO] [stdout]  --> src/main.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{cell::RefCell, process::Output, rc::Rc, time::Instant};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Itertools`, `Position::Last`, `iproduct`, and `max`
[INFO] [stdout]  --> src/main.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use itertools::{Itertools, Position::Last, iproduct, max};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `plotters::style::TextStyle`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use plotters::style::TextStyle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::RngExt`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::RngExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `slice::ParallelSlice`, `vec`, and `yield_local`
[INFO] [stdout]  --> src/main.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rayon::{iter::ParallelIterator, slice::ParallelSlice, vec, yield_local};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^  ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Network`
[INFO] [stdout]   --> src/main.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::network::{Loss, Network};
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Operation` and `Tensor`
[INFO] [stdout]  --> src/graph.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tensor::{Operation, Tensor, TensorData};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/network.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 |     batch_iterator::{self, BatchIterator},
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter::ParallelIterator`
[INFO] [stdout]  --> src/main.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rayon::{iter::ParallelIterator, slice::ParallelSlice, vec, yield_local};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `require_grad`
[INFO] [stdout]    --> src/tensor.rs:583:13
[INFO] [stdout]     |
[INFO] [stdout] 583 |         let require_grad = {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_require_grad`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter::ParallelIterator`
[INFO] [stdout]  --> src/main.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rayon::{iter::ParallelIterator, slice::ParallelSlice, vec, yield_local};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `require_grad`
[INFO] [stdout]    --> src/tensor.rs:583:13
[INFO] [stdout]     |
[INFO] [stdout] 583 |         let require_grad = {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_require_grad`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_loss`
[INFO] [stdout]    --> src/main.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let final_loss = output.mse(&y);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_loss`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_pooling` is never used
[INFO] [stdout]   --> src/main.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn test_pooling() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_conv` is never used
[INFO] [stdout]   --> src/main.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn test_conv() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_conv_network` is never used
[INFO] [stdout]   --> src/main.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn test_conv_network() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Conv2d`, `Padding`, `Reshape`, and `MaxPool` are never constructed
[INFO] [stdout]   --> src/tensor.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum Operation {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     Conv2d(
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Padding(usize, usize, usize, usize),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 37 |     Reshape,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 38 |     /// Содержит в себе значения `(kernel_shape.x, kernel_shape.y)`, `(stride.x, stride.y)`
[INFO] [stdout] 39 |     MaxPool((usize, usize), (usize, usize)),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Operation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stride`, `parents`, and `operation` are never read
[INFO] [stdout]   --> src/tensor.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct TensorData {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub stride: Vec<usize>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub parents: Vec<Rc<RefCell<TensorData>>>, // Вектор ссылок на родителей переменной, по которым нужна переменная. Когда мы нажмё...
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub operation: Option<Operation>, // Это операция, которая породила данный тензор. Если его только создали, то у него ни родител...
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pad`, `grad`, `reshape`, `flatten`, and `max_pool` are never used
[INFO] [stdout]    --> src/tensor.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl TensorData {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn pad(&self, padding: (usize, usize, usize, usize)) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |     pub fn grad(&self) -> TensorData {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub fn reshape(&self, new_shape: Vec<usize>) -> TensorData {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 |     pub fn flatten(&self) -> TensorData {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 446 |     pub fn max_pool(&self, kernel_shape: (usize, usize), stride: (usize, usize)) -> TensorData {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tensor.rs:702:12
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl Tensor {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 702 |     pub fn pad(&self, padding: (usize, usize, usize, usize)) -> Tensor {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 710 |     pub fn grad(&self) -> Tensor {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 717 |     pub fn conv2d(&self, kernel: &Tensor, stride: (usize, usize)) -> Tensor {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 843 |     pub fn reshape(&self, new_shape: Vec<usize>) -> Tensor {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 852 |     pub fn flatten(&self) -> Tensor {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 861 |     pub fn max_pool(&self, kernel_shape: (usize, usize), stride: (usize, usize)) -> Tensor {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 869 |     fn add_grad(parent: Rc<RefCell<TensorData>>, new_grad: Vec<f32>) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 880 |     pub fn backward(&self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchIterator` is never constructed
[INFO] [stdout]  --> src/batch_iterator.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct BatchIterator {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `reset_indices`, and `num_batches` are never used
[INFO] [stdout]   --> src/batch_iterator.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl BatchIterator {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn reset_indices(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn num_batches(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Graph` is never constructed
[INFO] [stdout]  --> src/graph.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Graph {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `build_topo`, and `dfs` are never used
[INFO] [stdout]   --> src/graph.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Graph {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 12 |     /// Возвращает новый граф с единственным значением внутри
[INFO] [stdout] 13 |     pub fn new(node: Rc<RefCell<TensorData>>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn build_topo(&self) -> Vec<Rc<RefCell<TensorData>>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn dfs(
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Operation` is never used
[INFO] [stdout]  --> src/layers.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Operation {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ActivationFunction` is never used
[INFO] [stdout]  --> src/layers.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait ActivationFunction {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LossFunction` is never used
[INFO] [stdout]  --> src/layers.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait LossFunction {
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Linear` is never constructed
[INFO] [stdout]   --> src/layers.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Linear {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/layers.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Linear {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new(input_features: usize, output_features: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReLu` is never constructed
[INFO] [stdout]   --> src/layers.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ReLu {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/layers.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ReLu {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 35 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MSE` is never constructed
[INFO] [stdout]   --> src/layers.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct MSE {}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/layers.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl MSE {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 47 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Loss` is never used
[INFO] [stdout]   --> src/network.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Loss {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Network` is never constructed
[INFO] [stdout]   --> src/network.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Network {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `Linear`, `Conv2d`, `forward`, and `fit` are never used
[INFO] [stdout]   --> src/network.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Network {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 21 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn Linear(&mut self, n_input: usize, n_output: usize) -> (Tensor, Tensor) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn Conv2d(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn forward<F>(&self, data: &Tensor, forward_fn: F) -> Tensor
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn fit<F>(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_losses` is never used
[INFO] [stdout]    --> src/network.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn plot_losses(losses: &[f32], output_path: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SGD` is never constructed
[INFO] [stdout]  --> src/optims.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SGD {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `backward_step` are never used
[INFO] [stdout]   --> src/optims.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl SGD {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(parametres: Vec<Rc<RefCell<TensorData>>>, lr: f32, momentum: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn backward_step(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Linear` should have a snake case name
[INFO] [stdout]   --> src/network.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn Linear(&mut self, n_input: usize, n_output: usize) -> (Tensor, Tensor) {
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to snake case: `linear`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Conv2d` should have a snake case name
[INFO] [stdout]   --> src/network.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn Conv2d(
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `conv2d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_loss`
[INFO] [stdout]    --> src/main.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let final_loss = output.mse(&y);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_loss`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_pooling` is never used
[INFO] [stdout]   --> src/main.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn test_pooling() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_conv` is never used
[INFO] [stdout]   --> src/main.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn test_conv() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_conv_network` is never used
[INFO] [stdout]   --> src/main.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn test_conv_network() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Conv2d`, `Padding`, `Reshape`, and `MaxPool` are never constructed
[INFO] [stdout]   --> src/tensor.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum Operation {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     Conv2d(
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Padding(usize, usize, usize, usize),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 37 |     Reshape,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 38 |     /// Содержит в себе значения `(kernel_shape.x, kernel_shape.y)`, `(stride.x, stride.y)`
[INFO] [stdout] 39 |     MaxPool((usize, usize), (usize, usize)),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Operation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stride` is never read
[INFO] [stdout]   --> src/tensor.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct TensorData {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub stride: Vec<usize>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pad`, `grad`, `reshape`, `flatten`, and `max_pool` are never used
[INFO] [stdout]    --> src/tensor.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl TensorData {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn pad(&self, padding: (usize, usize, usize, usize)) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |     pub fn grad(&self) -> TensorData {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub fn reshape(&self, new_shape: Vec<usize>) -> TensorData {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 |     pub fn flatten(&self) -> TensorData {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 446 |     pub fn max_pool(&self, kernel_shape: (usize, usize), stride: (usize, usize)) -> TensorData {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pad`, `grad`, `conv2d`, `reshape`, `flatten`, and `max_pool` are never used
[INFO] [stdout]    --> src/tensor.rs:702:12
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl Tensor {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 702 |     pub fn pad(&self, padding: (usize, usize, usize, usize)) -> Tensor {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 710 |     pub fn grad(&self) -> Tensor {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 717 |     pub fn conv2d(&self, kernel: &Tensor, stride: (usize, usize)) -> Tensor {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 843 |     pub fn reshape(&self, new_shape: Vec<usize>) -> Tensor {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 852 |     pub fn flatten(&self) -> Tensor {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 861 |     pub fn max_pool(&self, kernel_shape: (usize, usize), stride: (usize, usize)) -> Tensor {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `num_batches` is never used
[INFO] [stdout]   --> src/batch_iterator.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl BatchIterator {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn num_batches(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Operation` is never used
[INFO] [stdout]  --> src/layers.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Operation {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ActivationFunction` is never used
[INFO] [stdout]  --> src/layers.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait ActivationFunction {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LossFunction` is never used
[INFO] [stdout]  --> src/layers.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait LossFunction {
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Linear` is never constructed
[INFO] [stdout]   --> src/layers.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Linear {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/layers.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Linear {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new(input_features: usize, output_features: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReLu` is never constructed
[INFO] [stdout]   --> src/layers.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ReLu {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/layers.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ReLu {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 35 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MSE` is never constructed
[INFO] [stdout]   --> src/layers.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct MSE {}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/layers.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl MSE {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 47 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Conv2d` is never used
[INFO] [stdout]   --> src/network.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Network {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn Conv2d(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Linear` should have a snake case name
[INFO] [stdout]   --> src/network.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn Linear(&mut self, n_input: usize, n_output: usize) -> (Tensor, Tensor) {
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to snake case: `linear`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Conv2d` should have a snake case name
[INFO] [stdout]   --> src/network.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn Conv2d(
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `conv2d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `csv`
[INFO] [stderr]  --> Cargo.toml:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | csv = "1.4.0"
[INFO] [stderr]   | ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `csv`
[INFO] [stderr] warning: `NN` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.83s
[INFO] running `Command { std: "docker" "inspect" "5cf70838c13ae6345ecf84fedfb08a94f2e148c8820918f7b1b3c43f5462a799", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5cf70838c13ae6345ecf84fedfb08a94f2e148c8820918f7b1b3c43f5462a799", kill_on_drop: false }`
[INFO] [stdout] 5cf70838c13ae6345ecf84fedfb08a94f2e148c8820918f7b1b3c43f5462a799
