[INFO] fetching crate rail 0.3.1...
[INFO] testing rail-0.3.1 against 1.75.0 for beta-1.76-1
[INFO] extracting crate rail 0.3.1 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate rail 0.3.1 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.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-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.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.75.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-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] aa3f10275af2f6f1572d20fd8e2a603362ebe5a3d4fda7e7f5cd30cef315cd15
[INFO] running `Command { std: "docker" "start" "-a" "aa3f10275af2f6f1572d20fd8e2a603362ebe5a3d4fda7e7f5cd30cef315cd15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aa3f10275af2f6f1572d20fd8e2a603362ebe5a3d4fda7e7f5cd30cef315cd15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa3f10275af2f6f1572d20fd8e2a603362ebe5a3d4fda7e7f5cd30cef315cd15", kill_on_drop: false }`
[INFO] [stdout] aa3f10275af2f6f1572d20fd8e2a603362ebe5a3d4fda7e7f5cd30cef315cd15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7605496b4eee36e82b574b409241cc6ac4d2c34f501307b80bb31df50a7fba67
[INFO] running `Command { std: "docker" "start" "-a" "7605496b4eee36e82b574b409241cc6ac4d2c34f501307b80bb31df50a7fba67", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling serde v1.0.194
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling ryu v1.0.16
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling syn v2.0.48
[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 semver v0.9.0
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling serde_derive v1.0.194
[INFO] [stderr]    Compiling num v0.2.1
[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 8.91s
[INFO] running `Command { std: "docker" "inspect" "7605496b4eee36e82b574b409241cc6ac4d2c34f501307b80bb31df50a7fba67", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7605496b4eee36e82b574b409241cc6ac4d2c34f501307b80bb31df50a7fba67", kill_on_drop: false }`
[INFO] [stdout] 7605496b4eee36e82b574b409241cc6ac4d2c34f501307b80bb31df50a7fba67
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a2d17011430a8dc0db1d9d259855b10c7730f9cff206aeb62ee060cf5c0633fb
[INFO] running `Command { std: "docker" "start" "-a" "a2d17011430a8dc0db1d9d259855b10c7730f9cff206aeb62ee060cf5c0633fb", 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.75.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/rustcVqCp7t/symbols.o" "/opt/rustwide/target/debug/deps/rail-2d0c8104fc964b93.rail.9d3a7d84fa651531-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/rail-2d0c8104fc964b93.2t762vy7cos287ke.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.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-3df1bed8075ce1de.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-2076fd86b325cb5d.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-caa7152ee70c190f.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-04e6425e07f02a3c.rlib" "/opt/rustwide/target/debug/deps/librand-2cceb37d60d68c25.rlib" "/opt/rustwide/target/debug/deps/librand_xorshift-9b7e196cd50c4e67.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-39107a4cc57ccea5.rlib" "/opt/rustwide/target/debug/deps/librand_hc-677515abc5e770db.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-adff71a8c2e03c9d.rlib" "/opt/rustwide/target/debug/deps/librand_isaac-9055555a0ce64bea.rlib" "/opt/rustwide/target/debug/deps/librand_core-2d6f500acd6a936c.rlib" "/opt/rustwide/target/debug/deps/librand_os-a7a79c82c16ed5ec.rlib" "/opt/rustwide/target/debug/deps/librand_jitter-e0716e2be2341726.rlib" "/opt/rustwide/target/debug/deps/librand_core-5f8dc8f8f4491b97.rlib" "/opt/rustwide/target/debug/deps/libarrayfire-65c20bc9f7d8d410.rlib" "/opt/rustwide/target/debug/deps/libhalf-3e429f0b720467d6.rlib" "/opt/rustwide/target/debug/deps/liblibc-f01c1240f7c859d0.rlib" "/opt/rustwide/target/debug/deps/libnum-08beed57c82289cb.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-d06505e3d8f6853d.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-6fbac31b1f5453a9.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-49d528ab8eb0646a.rlib" "/opt/rustwide/target/debug/deps/libnum_bigint-2db817fae6229f62.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-4af2a22ed037d483.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-021f0c8717b1cfd6.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-591486ebcb9a7ead.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-90f6ddbf82de36ec.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-480c41e9d4e1f677.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-db744c0ca03eed1d.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-8ba652dc7d4b285a.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d5f4520a9ebc0d58.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-4ad84de58f0cb463.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-0d10aae2e0f38735.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-0c17cff739e6745b.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-b29e17139dde1aa8.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-1f975299829cc7bd.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-86bae3bc3079f89b.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-321b82c30dffdf5f.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-3dd8a6810a0bdfef.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-eb39a61c0c879984.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-aa769569f91c3548.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-510a192a50a983ed.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-0577018320f99037.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-193cf992125ccd4c.rlib" "/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-8e138eaf26ebb4a8.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.75.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/rail-2d0c8104fc964b93" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-2d0c8104fc964b93.rail.9d3a7d84fa651531-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-65c20bc9f7d8d410.rlib(arrayfire-65c20bc9f7d8d410.arrayfire.cb8d41ee7c2c7014-cgu.0.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-65c20bc9f7d8d410.rlib(arrayfire-65c20bc9f7d8d410.arrayfire.cb8d41ee7c2c7014-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-65c20bc9f7d8d410.rlib(arrayfire-65c20bc9f7d8d410.arrayfire.cb8d41ee7c2c7014-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 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" "a2d17011430a8dc0db1d9d259855b10c7730f9cff206aeb62ee060cf5c0633fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2d17011430a8dc0db1d9d259855b10c7730f9cff206aeb62ee060cf5c0633fb", kill_on_drop: false }`
[INFO] [stdout] a2d17011430a8dc0db1d9d259855b10c7730f9cff206aeb62ee060cf5c0633fb
