[INFO] fetching crate rail 0.3.1...
[INFO] testing rail-0.3.1 against 1.76.0 for beta-1.77-1
[INFO] extracting crate rail 0.3.1 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate rail 0.3.1 on toolchain 1.76.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rail 0.3.1
[INFO] finished tweaking crates.io crate rail 0.3.1
[INFO] tweaked toml for crates.io crate rail 0.3.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded arrayfire v3.8.0
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 19deb90b390d27df0dd446eae35ae3078f029197c9ffb62773c883af2cd848e0
[INFO] running `Command { std: "docker" "start" "-a" "19deb90b390d27df0dd446eae35ae3078f029197c9ffb62773c883af2cd848e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "19deb90b390d27df0dd446eae35ae3078f029197c9ffb62773c883af2cd848e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "19deb90b390d27df0dd446eae35ae3078f029197c9ffb62773c883af2cd848e0", kill_on_drop: false }`
[INFO] [stdout] 19deb90b390d27df0dd446eae35ae3078f029197c9ffb62773c883af2cd848e0
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] adfcc78b52cdaf2594cd407198a4704e7cad7923ec60d64892f95f62d3caf17a
[INFO] running `Command { std: "docker" "start" "-a" "adfcc78b52cdaf2594cd407198a4704e7cad7923ec60d64892f95f62d3caf17a", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling ryu v1.0.16
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling serde_json v1.0.113
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-iter v0.1.44
[INFO] [stderr]    Compiling num v0.2.1
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]    Compiling arrayfire v3.8.0
[INFO] [stderr]    Compiling rail v0.3.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/dense.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/conv.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = dyn Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = dyn Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = dyn Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/mod.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<Layer> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<dyn Layer> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:64:39
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<Layer>) -> Self {
[INFO] [stdout]    |                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<dyn Layer>) -> Self {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/model.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |         unimplemented!();
[INFO] [stdout]     |         ---------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 343 |         let mut fd = File::create(filename).expect("unable to create file!");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/layers/conv.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn deserialize(src: &[&str]) -> Box<Self> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/model.rs:95:18
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn build(mut self, init: bool) -> Result<Model, ModelError> {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/model.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let mut lines = buf.split('\n').collect::<Vec<_>>();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/model.rs:338:32
[INFO] [stdout]     |
[INFO] [stdout] 338 |     pub fn save_weights(&self, filename: &str) {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convolve_valid` is never used
[INFO] [stdout]   --> src/utils.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn convolve_valid(input: &Matrix, kernel: &Matrix) -> Matrix {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 5.31s
[INFO] running `Command { std: "docker" "inspect" "adfcc78b52cdaf2594cd407198a4704e7cad7923ec60d64892f95f62d3caf17a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "adfcc78b52cdaf2594cd407198a4704e7cad7923ec60d64892f95f62d3caf17a", kill_on_drop: false }`
[INFO] [stdout] adfcc78b52cdaf2594cd407198a4704e7cad7923ec60d64892f95f62d3caf17a
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d84e9dd4825da5560ae0d8ea5941a42c948b3988bd3058a77d24bbe80d9d417c
[INFO] running `Command { std: "docker" "start" "-a" "d84e9dd4825da5560ae0d8ea5941a42c948b3988bd3058a77d24bbe80d9d417c", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/dense.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/conv.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = dyn Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = dyn Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = dyn Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/mod.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<Layer> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<dyn Layer> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:64:39
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<Layer>) -> Self {
[INFO] [stdout]    |                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<dyn Layer>) -> Self {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/model.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |         unimplemented!();
[INFO] [stdout]     |         ---------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 343 |         let mut fd = File::create(filename).expect("unable to create file!");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/layers/conv.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn deserialize(src: &[&str]) -> Box<Self> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/model.rs:95:18
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn build(mut self, init: bool) -> Result<Model, ModelError> {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/model.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let mut lines = buf.split('\n').collect::<Vec<_>>();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/model.rs:338:32
[INFO] [stdout]     |
[INFO] [stdout] 338 |     pub fn save_weights(&self, filename: &str) {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convolve_valid` is never used
[INFO] [stdout]   --> src/utils.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn convolve_valid(input: &Matrix, kernel: &Matrix) -> Matrix {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rail v0.3.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `arrayfire::print_gen`
[INFO] [stdout]   --> src/utils.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     use arrayfire::print_gen;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/dense.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/conv.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = dyn Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = dyn Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = dyn Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/mod.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<Layer> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<dyn Layer> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:64:39
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<Layer>) -> Self {
[INFO] [stdout]    |                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<dyn Layer>) -> Self {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/model.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |         unimplemented!();
[INFO] [stdout]     |         ---------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 343 |         let mut fd = File::create(filename).expect("unable to create file!");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/layers/conv.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn deserialize(src: &[&str]) -> Box<Self> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/model.rs:95:18
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn build(mut self, init: bool) -> Result<Model, ModelError> {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/model.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let mut lines = buf.split('\n').collect::<Vec<_>>();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/model.rs:338:32
[INFO] [stdout]     |
[INFO] [stdout] 338 |     pub fn save_weights(&self, filename: &str) {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustc964NSD/symbols.o" "/opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.y8j2dr45kjooa79.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/arrayfire/lib" "-L" "/opt/arrayfire/lib64" "-L" "/usr/local/lib" "-L" "/usr/lib" "-L" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-5d722ce3e5d0595e.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-76f5006e4e062e57.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-a18ed5fdf4a57b72.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-a14b8d31733ef9e9.rlib" "/opt/rustwide/target/debug/deps/librand-7e0cded8c84f47d3.rlib" "/opt/rustwide/target/debug/deps/librand_xorshift-e99e354e2f3d00aa.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-3d1a31bac1a1ffae.rlib" "/opt/rustwide/target/debug/deps/librand_hc-447642817b8f2687.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-497c72efff95e2ea.rlib" "/opt/rustwide/target/debug/deps/librand_isaac-fb7254a38624900b.rlib" "/opt/rustwide/target/debug/deps/librand_core-941056c8240fcb0f.rlib" "/opt/rustwide/target/debug/deps/librand_os-1c0b1a05ddb42fd6.rlib" "/opt/rustwide/target/debug/deps/librand_jitter-728813f7eab78c59.rlib" "/opt/rustwide/target/debug/deps/librand_core-d2543b12e9ae3070.rlib" "/opt/rustwide/target/debug/deps/libarrayfire-f7a9544443778d94.rlib" "/opt/rustwide/target/debug/deps/libhalf-32d5ebd089e9d0d8.rlib" "/opt/rustwide/target/debug/deps/liblibc-50cf0445600f9cae.rlib" "/opt/rustwide/target/debug/deps/libnum-417a37bf7af4175f.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-00515cc6f6b2d535.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-9e3195403b9e0535.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-c3498fa73bae7ce1.rlib" "/opt/rustwide/target/debug/deps/libnum_bigint-b1ace511ca2ffa6c.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-a9ddec29ee82bafb.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-f63fe9829afbdc26.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-67076bd63a6ff427.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-66d8041607d2929b.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-a57e2388c0aea9b1.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-dcd9be90ae2cb505.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-516789932d161b4e.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-1ff34b0cf871cb60.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-0c110dd0650d6cb7.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-a6e97aae2681ad8f.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-b93dac2525ec4d1e.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-ce1d65fb391ae98b.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-8933a2fb54d88492.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-306712ebb1ee1a3f.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-349c574f342b0d30.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-65c422a3ad95273d.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-7e6330a6c0cb9441.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-39c59240bfdfab27.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-e9d126c51bb8b2bb.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-5af394d9b1f07bdc.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-693a8f23970c5917.rlib" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-13fc9d1ed9c7a2bc.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.76.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `<arrayfire::core::array::Array<T> as core::clone::Clone>::clone':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:694: undefined reference to `af_retain_array'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `<arrayfire::core::array::Array<T> as core::ops::drop::Drop>::drop':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:710: undefined reference to `af_release_array'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::statistics::mean':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/statistics/mod.rs:109: undefined reference to `af_mean'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::core::data::tile':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/data.rs:496: undefined reference to `af_tile'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::core::arith::div_helper':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/arith.rs:407: undefined reference to `af_div'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::core::arith::mul_helper':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/arith.rs:407: undefined reference to `af_mul'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::core::arith::sub_helper':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/arith.rs:407: undefined reference to `af_sub'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::core::arith::exp':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/arith.rs:129: undefined reference to `af_exp'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::core::array::Array<T>::new':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:228: undefined reference to `af_create_array'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::core::array::Array<T>::dims':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:433: undefined reference to `af_get_dims'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::core::array::Array<T>::host':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:525: undefined reference to `af_get_data_ptr'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::core::array::Array<T>::elements':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:410: undefined reference to `af_get_elements'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::core::array::Array<T>::is_scalar':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:181: undefined reference to `af_is_scalar'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::signal::convolve2':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/signal/mod.rs:725: undefined reference to `af_convolve2'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-bc1cdaad966fe7d4.rail.6c43d939e672a3fb-cgu.0.rcgu.o: in function `arrayfire::algorithm::sum':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/algorithm/mod.rs:155: undefined reference to `af_sum'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libarrayfire-f7a9544443778d94.rlib(arrayfire-f7a9544443778d94.arrayfire.84731d48ca01a690-cgu.0.rcgu.o): in function `arrayfire::core::util::free_host':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/util.rs:68: undefined reference to `af_free_host'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libarrayfire-f7a9544443778d94.rlib(arrayfire-f7a9544443778d94.arrayfire.84731d48ca01a690-cgu.1.rcgu.o): in function `arrayfire::core::error::get_last_error':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/error.rs:104: undefined reference to `af_get_last_error'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libarrayfire-f7a9544443778d94.rlib(arrayfire-f7a9544443778d94.arrayfire.84731d48ca01a690-cgu.1.rcgu.o): in function `<f64 as arrayfire::core::data::ConstGenerator>::generate':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/data.rs:242: undefined reference to `af_constant'
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout]   = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
[INFO] [stdout]   = note: use the `-l` flag to specify native libraries to link
[INFO] [stdout]   = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rail` (lib test) due to 2 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d84e9dd4825da5560ae0d8ea5941a42c948b3988bd3058a77d24bbe80d9d417c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d84e9dd4825da5560ae0d8ea5941a42c948b3988bd3058a77d24bbe80d9d417c", kill_on_drop: false }`
[INFO] [stdout] d84e9dd4825da5560ae0d8ea5941a42c948b3988bd3058a77d24bbe80d9d417c
[INFO] testing rail-0.3.1 against beta-2024-02-10 for beta-1.77-1
[INFO] extracting crate rail 0.3.1 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate rail 0.3.1 on toolchain beta-2024-02-10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rail 0.3.1
[INFO] finished tweaking crates.io crate rail 0.3.1
[INFO] tweaked toml for crates.io crate rail 0.3.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3c73a96f3a0283b219bd24c7e402922608a98fb24da3e61959193f12ed6453ec
[INFO] running `Command { std: "docker" "start" "-a" "3c73a96f3a0283b219bd24c7e402922608a98fb24da3e61959193f12ed6453ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3c73a96f3a0283b219bd24c7e402922608a98fb24da3e61959193f12ed6453ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c73a96f3a0283b219bd24c7e402922608a98fb24da3e61959193f12ed6453ec", kill_on_drop: false }`
[INFO] [stdout] 3c73a96f3a0283b219bd24c7e402922608a98fb24da3e61959193f12ed6453ec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8d5e318fddf279c514b4c35d777f75a505e0dc49a418cd7f6b96b74dab3228e9
[INFO] running `Command { std: "docker" "start" "-a" "8d5e318fddf279c514b4c35d777f75a505e0dc49a418cd7f6b96b74dab3228e9", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling ryu v1.0.16
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling serde_json v1.0.113
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-iter v0.1.44
[INFO] [stderr]    Compiling num v0.2.1
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]    Compiling arrayfire v3.8.0
[INFO] [stderr]    Compiling rail v0.3.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/dense.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/conv.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = dyn Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = dyn Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = dyn Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/mod.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<Layer> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<dyn Layer> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:64:39
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<Layer>) -> Self {
[INFO] [stdout]    |                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<dyn Layer>) -> Self {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/model.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |         unimplemented!();
[INFO] [stdout]     |         ---------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 343 |         let mut fd = File::create(filename).expect("unable to create file!");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/layers/conv.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn deserialize(src: &[&str]) -> Box<Self> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/model.rs:95:18
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn build(mut self, init: bool) -> Result<Model, ModelError> {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/model.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let mut lines = buf.split('\n').collect::<Vec<_>>();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/model.rs:338:32
[INFO] [stdout]     |
[INFO] [stdout] 338 |     pub fn save_weights(&self, filename: &str) {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convolve_valid` is never used
[INFO] [stdout]   --> src/utils.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn convolve_valid(input: &Matrix, kernel: &Matrix) -> Matrix {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 7.15s
[INFO] running `Command { std: "docker" "inspect" "8d5e318fddf279c514b4c35d777f75a505e0dc49a418cd7f6b96b74dab3228e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d5e318fddf279c514b4c35d777f75a505e0dc49a418cd7f6b96b74dab3228e9", kill_on_drop: false }`
[INFO] [stdout] 8d5e318fddf279c514b4c35d777f75a505e0dc49a418cd7f6b96b74dab3228e9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1f42fee8d52d2bc231326f5fbeb3041ccbaca4f3d70d275d51fe7ae72980849f
[INFO] running `Command { std: "docker" "start" "-a" "1f42fee8d52d2bc231326f5fbeb3041ccbaca4f3d70d275d51fe7ae72980849f", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/dense.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/conv.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = dyn Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = dyn Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = dyn Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/mod.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<Layer> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<dyn Layer> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:64:39
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<Layer>) -> Self {
[INFO] [stdout]    |                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<dyn Layer>) -> Self {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/model.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |         unimplemented!();
[INFO] [stdout]     |         ---------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 343 |         let mut fd = File::create(filename).expect("unable to create file!");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/layers/conv.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn deserialize(src: &[&str]) -> Box<Self> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/model.rs:95:18
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn build(mut self, init: bool) -> Result<Model, ModelError> {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/model.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let mut lines = buf.split('\n').collect::<Vec<_>>();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rail v0.3.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/model.rs:338:32
[INFO] [stdout]     |
[INFO] [stdout] 338 |     pub fn save_weights(&self, filename: &str) {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convolve_valid` is never used
[INFO] [stdout]   --> src/utils.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn convolve_valid(input: &Matrix, kernel: &Matrix) -> Matrix {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrayfire::print_gen`
[INFO] [stdout]   --> src/utils.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     use arrayfire::print_gen;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/dense.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `print_gen`
[INFO] [stdout]  --> src/layers/conv.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     print_gen
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type LossFuntion = dyn Fn(&Matrix, &Matrix) -> f64;
[INFO] [stdout]   |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type DLossFuntion = dyn Fn(&Matrix, &Matrix) -> Matrix;
[INFO] [stdout]   |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/functions/loss.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type LossFuntionGenerator = dyn Fn() -> (Box<LossFuntion>, Box<DLossFuntion>);
[INFO] [stdout]   |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/mod.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<Layer> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_layer(src: &[&str]) -> Box<dyn Layer> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/dense.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     activation: Box<dyn Fn(Matrix) -> Matrix>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layers/conv.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dactivation: Box<dyn Fn(Matrix) -> Matrix>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<Layer>>,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     layers: Vec<Box<dyn Layer>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model.rs:64:39
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<Layer>) -> Self {
[INFO] [stdout]    |                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn layer(mut self, layer: Box<dyn Layer>) -> Self {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/model.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |         unimplemented!();
[INFO] [stdout]     |         ---------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 343 |         let mut fd = File::create(filename).expect("unable to create file!");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/layers/conv.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn deserialize(src: &[&str]) -> Box<Self> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/model.rs:95:18
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn build(mut self, init: bool) -> Result<Model, ModelError> {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/model.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let mut lines = buf.split('\n').collect::<Vec<_>>();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/model.rs:338:32
[INFO] [stdout]     |
[INFO] [stdout] 338 |     pub fn save_weights(&self, filename: &str) {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcbHIqEu/symbols.o" "/opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.3l7fszf2e3afcpg9.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/arrayfire/lib" "-L" "/opt/arrayfire/lib64" "-L" "/usr/local/lib" "-L" "/usr/lib" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-7b2522a9e679b88d.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-f94d980056e8955a.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-dfc6ee63d8caa20c.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-113d7bdd8cf56a35.rlib" "/opt/rustwide/target/debug/deps/librand-bd98b5af670e73af.rlib" "/opt/rustwide/target/debug/deps/librand_xorshift-fddfb659da58e4bf.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-469b12f1257a3006.rlib" "/opt/rustwide/target/debug/deps/librand_hc-04e4f418b9ab77db.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-78ae6272db5d33a8.rlib" "/opt/rustwide/target/debug/deps/librand_isaac-0a7dc632816af8d7.rlib" "/opt/rustwide/target/debug/deps/librand_core-93fd6fb9d20da204.rlib" "/opt/rustwide/target/debug/deps/librand_os-e67d5b4553ab7af5.rlib" "/opt/rustwide/target/debug/deps/librand_jitter-628645d750895e52.rlib" "/opt/rustwide/target/debug/deps/librand_core-1adf33305417fb82.rlib" "/opt/rustwide/target/debug/deps/libarrayfire-b87c278b026024fd.rlib" "/opt/rustwide/target/debug/deps/libhalf-bb52c7918736de63.rlib" "/opt/rustwide/target/debug/deps/liblibc-db6d1022cbe7c1eb.rlib" "/opt/rustwide/target/debug/deps/libnum-1b639a91abfd21d2.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-5dec76f8f5a43009.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-ab690983a6c74359.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-527aab796cb9fb1e.rlib" "/opt/rustwide/target/debug/deps/libnum_bigint-783f6f3f1fc51b65.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-f9abf708eeb1e66d.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-48b4fb5decd44ca5.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-efa3519517df6cf0.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c3d3f3356130ff3b.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-95df42f89c1d4925.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-0d2835f8aa540844.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-370839a40e011065.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-9649e5e19a7f7d26.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-947cba7c5cf68c1c.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-ced012bebfb4965d.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-ca1b3bc71d252cc2.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-fc6e78e39549a6fa.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-339fe9c79c84af4f.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-1568bb4b0be20e00.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-fe9837fa83c5d69d.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-4c6008bb65e308f5.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-c9bf4c045d493bdb.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-e47cddc003bce885.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-ddda47710dcba33d.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-e46bc3da6d7c462f.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-8d1ac131d3cb2645.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-b4e1725cffd81412.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2024-02-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `<arrayfire::core::array::Array<T> as core::clone::Clone>::clone':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:694: undefined reference to `af_retain_array'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `<arrayfire::core::array::Array<T> as core::ops::drop::Drop>::drop':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:710: undefined reference to `af_release_array'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::statistics::mean':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/statistics/mod.rs:109: undefined reference to `af_mean'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::core::data::tile':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/data.rs:496: undefined reference to `af_tile'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::core::arith::div_helper':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/arith.rs:407: undefined reference to `af_div'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::core::arith::mul_helper':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/arith.rs:407: undefined reference to `af_mul'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::core::arith::sub_helper':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/arith.rs:407: undefined reference to `af_sub'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::core::arith::exp':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/arith.rs:129: undefined reference to `af_exp'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::core::array::Array<T>::new':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:228: undefined reference to `af_create_array'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::core::array::Array<T>::dims':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:433: undefined reference to `af_get_dims'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::core::array::Array<T>::host':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:525: undefined reference to `af_get_data_ptr'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::core::array::Array<T>::elements':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:410: undefined reference to `af_get_elements'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::core::array::Array<T>::is_scalar':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/array.rs:181: undefined reference to `af_is_scalar'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::signal::convolve2':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/signal/mod.rs:725: undefined reference to `af_convolve2'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-0e95eb2cdeb14eb1.rail.209171de3368ba0d-cgu.0.rcgu.o: in function `arrayfire::algorithm::sum':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/algorithm/mod.rs:155: undefined reference to `af_sum'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libarrayfire-b87c278b026024fd.rlib(arrayfire-b87c278b026024fd.arrayfire.38f961f846c6dd4c-cgu.1.rcgu.o): in function `arrayfire::core::error::get_last_error':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/error.rs:104: undefined reference to `af_get_last_error'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libarrayfire-b87c278b026024fd.rlib(arrayfire-b87c278b026024fd.arrayfire.38f961f846c6dd4c-cgu.1.rcgu.o): in function `arrayfire::core::util::free_host':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/util.rs:68: undefined reference to `af_free_host'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libarrayfire-b87c278b026024fd.rlib(arrayfire-b87c278b026024fd.arrayfire.38f961f846c6dd4c-cgu.1.rcgu.o): in function `<f64 as arrayfire::core::data::ConstGenerator>::generate':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayfire-3.8.0/src/core/data.rs:242: undefined reference to `af_constant'
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout]   = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
[INFO] [stdout]   = note: use the `-l` flag to specify native libraries to link
[INFO] [stdout]   = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#rustc-link-lib)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rail` (lib test) due to 2 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1f42fee8d52d2bc231326f5fbeb3041ccbaca4f3d70d275d51fe7ae72980849f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f42fee8d52d2bc231326f5fbeb3041ccbaca4f3d70d275d51fe7ae72980849f", kill_on_drop: false }`
[INFO] [stdout] 1f42fee8d52d2bc231326f5fbeb3041ccbaca4f3d70d275d51fe7ae72980849f
