[INFO] fetching crate rail 0.3.1...
[INFO] testing rail-0.3.1 against 1.69.0 for beta-1.70-1
[INFO] extracting crate rail 0.3.1 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate rail 0.3.1 on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.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-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+1.69.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.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-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 484eefe37224b26fabb9648aed1c77f5636c7c6ac17cbfc171942e2bae80671c
[INFO] running `Command { std: "docker" "start" "-a" "484eefe37224b26fabb9648aed1c77f5636c7c6ac17cbfc171942e2bae80671c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "484eefe37224b26fabb9648aed1c77f5636c7c6ac17cbfc171942e2bae80671c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "484eefe37224b26fabb9648aed1c77f5636c7c6ac17cbfc171942e2bae80671c", kill_on_drop: false }`
[INFO] [stdout] 484eefe37224b26fabb9648aed1c77f5636c7c6ac17cbfc171942e2bae80671c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7d7121333f951dd4733aa0e7ff3ccf6aa82ac54d6174641446a5ff9777459daa
[INFO] running `Command { std: "docker" "start" "-a" "7d7121333f951dd4733aa0e7ff3ccf6aa82ac54d6174641446a5ff9777459daa", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling ryu v1.0.13
[INFO] [stderr]    Compiling itoa v1.0.6
[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_os v0.1.3
[INFO] [stderr]    Compiling arrayfire v3.8.0
[INFO] [stderr]    Compiling num v0.2.1
[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: 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: 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: 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 10.76s
[INFO] running `Command { std: "docker" "inspect" "7d7121333f951dd4733aa0e7ff3ccf6aa82ac54d6174641446a5ff9777459daa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d7121333f951dd4733aa0e7ff3ccf6aa82ac54d6174641446a5ff9777459daa", kill_on_drop: false }`
[INFO] [stdout] 7d7121333f951dd4733aa0e7ff3ccf6aa82ac54d6174641446a5ff9777459daa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f1191873986869b6f178f6e6c87e6ce4a77b294618aeebbf6e4078be9769df24
[INFO] running `Command { std: "docker" "start" "-a" "f1191873986869b6f178f6e6c87e6ce4a77b294618aeebbf6e4078be9769df24", 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] [stderr]    Compiling rail v0.3.1 (/opt/rustwide/workdir)
[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: 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: 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: 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: 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: 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] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/1.69.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/rustc1RrOz5/symbols.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.2uz9tnk0e1xbj3c9.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.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-7791a6353d4a7929.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-7b17724e9ce90a72.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-596f8ce9d30a755e.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-da04f86254de594f.rlib" "/opt/rustwide/target/debug/deps/librand-b9f328ee6d233799.rlib" "/opt/rustwide/target/debug/deps/librand_xorshift-69c9edbec047983c.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-63305319df409254.rlib" "/opt/rustwide/target/debug/deps/librand_hc-f96207d356ffd30b.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-9d94c83710ff9042.rlib" "/opt/rustwide/target/debug/deps/librand_isaac-dd051cac8bde6f21.rlib" "/opt/rustwide/target/debug/deps/librand_core-23cf30eca6551b12.rlib" "/opt/rustwide/target/debug/deps/librand_os-03bfbe926fec6d09.rlib" "/opt/rustwide/target/debug/deps/librand_jitter-37e1388e82f9a364.rlib" "/opt/rustwide/target/debug/deps/librand_core-56e130eac2d651e8.rlib" "/opt/rustwide/target/debug/deps/libarrayfire-4f9cf801d331a16a.rlib" "/opt/rustwide/target/debug/deps/libhalf-141f900c246fe8e7.rlib" "/opt/rustwide/target/debug/deps/liblibc-b7b14a0fe316ec96.rlib" "/opt/rustwide/target/debug/deps/libnum-046003f070c65810.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-ea32407fb638f9b8.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-ee1788e36c3dc283.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-bfe512b0bd6bca60.rlib" "/opt/rustwide/target/debug/deps/libnum_bigint-964eeaaec0efbca6.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-6731b38e147f595d.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-9bb78d120ed117cd.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-a15e1ed0a3c31761.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-89bc084783fdc439.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-8bee4b287d4367c1.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-d61707aed80694c0.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-d85366256f22345b.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-96069b86b8a8cae9.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-d19d53abf68dfa6c.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-787cbccd19d64ac6.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-b3837a36b830e0d0.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-e3deb0e7e3f04966.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-dabbb79c9815def4.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-305b01f34c9409f2.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-f833521df6074e73.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-9ac333113350d171.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-1c126114322d0eee.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-bad9164fdeeecf92.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-f9374b1e480fa681.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-207f06e41d9603af.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-7e2768e66e984e85.rlib" "/opt/rustwide/rustup-home/toolchains/1.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-957b4aff41f8cd46.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.69.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/rail-4dba514025c4e07b" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: /usr/bin/ld: /opt/rustwide/target/debug/deps/rail-4dba514025c4e07b.rail.eef9fb31-cgu.10.rcgu.o: in function `arrayfire::core::data::tile':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.11.rcgu.o: in function `<arrayfire::core::array::Array<T> as core::clone::Clone>::clone':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.11.rcgu.o: in function `<arrayfire::core::array::Array<T> as core::ops::drop::Drop>::drop':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.11.rcgu.o: in function `arrayfire::core::array::Array<T>::new':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.11.rcgu.o: in function `arrayfire::core::array::Array<T>::dims':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.11.rcgu.o: in function `arrayfire::core::array::Array<T>::host':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.11.rcgu.o: in function `arrayfire::core::array::Array<T>::elements':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.11.rcgu.o: in function `arrayfire::core::array::Array<T>::is_scalar':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.5.rcgu.o: in function `arrayfire::core::arith::div_helper':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.5.rcgu.o: in function `arrayfire::core::arith::mul_helper':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.5.rcgu.o: in function `arrayfire::core::arith::sub_helper':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.5.rcgu.o: in function `arrayfire::core::arith::exp':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.7.rcgu.o: in function `arrayfire::statistics::mean':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.7.rcgu.o: in function `arrayfire::signal::convolve2':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4dba514025c4e07b.rail.eef9fb31-cgu.7.rcgu.o: in function `arrayfire::algorithm::sum':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4f9cf801d331a16a.rlib(arrayfire-4f9cf801d331a16a.arrayfire.c2cf9c0c-cgu.15.rcgu.o): in function `arrayfire::core::error::get_last_error':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/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-4f9cf801d331a16a.rlib(arrayfire-4f9cf801d331a16a.arrayfire.c2cf9c0c-cgu.15.rcgu.o): in function `<f64 as arrayfire::core::data::ConstGenerator>::generate':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/arrayfire-3.8.0/src/core/data.rs:242: undefined reference to `af_constant'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libarrayfire-4f9cf801d331a16a.rlib(arrayfire-4f9cf801d331a16a.arrayfire.c2cf9c0c-cgu.7.rcgu.o): in function `arrayfire::core::util::free_host':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/arrayfire-3.8.0/src/core/util.rs:68: undefined reference to `af_free_host'
[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` due to 2 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f1191873986869b6f178f6e6c87e6ce4a77b294618aeebbf6e4078be9769df24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1191873986869b6f178f6e6c87e6ce4a77b294618aeebbf6e4078be9769df24", kill_on_drop: false }`
[INFO] [stdout] f1191873986869b6f178f6e6c87e6ce4a77b294618aeebbf6e4078be9769df24
