[INFO] updating cached repository matyushinleonid/Rust_Perceptron [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/matyushinleonid/Rust_Perceptron [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/matyushinleonid/Rust_Perceptron" "work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/matyushinleonid/Rust_Perceptron"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/matyushinleonid/Rust_Perceptron'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/matyushinleonid/Rust_Perceptron" "work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/matyushinleonid/Rust_Perceptron"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/matyushinleonid/Rust_Perceptron'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] a6cefd306a91f82fe95436633d7779f73f370e57 [INFO] sha for GitHub repo matyushinleonid/Rust_Perceptron: a6cefd306a91f82fe95436633d7779f73f370e57 [INFO] validating manifest of matyushinleonid/Rust_Perceptron on toolchain master#e305df1846a6d985315917ae0c81b74af8b4e641 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of matyushinleonid/Rust_Perceptron on toolchain try#99a7498759a22b5684caf798a98b7e90ad9d2443 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing matyushinleonid/Rust_Perceptron [INFO] finished frobbing matyushinleonid/Rust_Perceptron [INFO] frobbed toml for matyushinleonid/Rust_Perceptron written to work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/matyushinleonid/Rust_Perceptron/Cargo.toml [INFO] started frobbing matyushinleonid/Rust_Perceptron [INFO] finished frobbing matyushinleonid/Rust_Perceptron [INFO] frobbed toml for matyushinleonid/Rust_Perceptron written to work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/matyushinleonid/Rust_Perceptron/Cargo.toml [INFO] crate matyushinleonid/Rust_Perceptron already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on the registry index [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking matyushinleonid/Rust_Perceptron against master#e305df1846a6d985315917ae0c81b74af8b4e641 for pr-60039-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-60039-1/worker-2/master#e305df1846a6d985315917ae0c81b74af8b4e641:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/matyushinleonid/Rust_Perceptron:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] b52f6c61d370c294a6232f03d1d216d6aa586e2a015e5e19a188fab16ba31910 [INFO] running `"docker" "start" "-a" "b52f6c61d370c294a6232f03d1d216d6aa586e2a015e5e19a188fab16ba31910"` [INFO] [stderr] Checking rand_core v0.2.2 [INFO] [stderr] Checking approx v0.3.1 [INFO] [stderr] Checking rand v0.5.5 [INFO] [stderr] Checking alga v0.7.2 [INFO] [stderr] Checking nalgebra v0.16.13 [INFO] [stderr] warning[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable [INFO] [stderr] --> /opt/crater/cargo-home/registry/src/github.com-1ecc6299db9ec823/nalgebra-0.16.13/src/base/cg.rs:291:44 [INFO] [stderr] | [INFO] [stderr] 291 | self[(j, i)] += shift[j] * self[(D::dim() - 1, i)]; [INFO] [stderr] | ---------------------------^^^^------------------- [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow occurs here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] [INFO] [stderr] Checking RustProject v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: value assigned to `gr` is never read [INFO] [stderr] --> src/main.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | gr = model.l1.backward(gr); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/main.rs:178:57 [INFO] [stderr] | [INFO] [stderr] 178 | fn forward_backward(model: &mut Perceptrone, X: Matrix, y:Matrix) -> f64 { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_y` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `batch_size` [INFO] [stderr] --> src/main.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | let batch_size = batch_size as usize; [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_batch_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | for i in 1..100 { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ones` [INFO] [stderr] --> src/main.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | let ones = Matrix::from_element(self.s0, 1, 1.); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ones` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dLdY` [INFO] [stderr] --> src/main.rs:129:28 [INFO] [stderr] | [INFO] [stderr] 129 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_dLdY` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dLdY` [INFO] [stderr] --> src/main.rs:143:28 [INFO] [stderr] | [INFO] [stderr] 143 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_dLdY` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dLdY` [INFO] [stderr] --> src/main.rs:158:28 [INFO] [stderr] | [INFO] [stderr] 158 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_dLdY` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | let mut a = DMatrix::from_row_slice(m, n, &mat[..]); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | let mut gradW = self.buffer_X.transpose() * &dLdY; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:194:9 [INFO] [stderr] | [INFO] [stderr] 194 | let mut X_train = parse("X_train.txt"); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | let mut y_train = parse("y_train.txt"); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:197:9 [INFO] [stderr] | [INFO] [stderr] 197 | let mut X_test = parse("X_test.txt"); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:221:9 [INFO] [stderr] | [INFO] [stderr] 221 | let mut l3 = Linear{ [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 232 | let mut l4 = MSE{ [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never used: `s0` [INFO] [stderr] --> src/main.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | s0: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Tanh` [INFO] [stderr] --> src/main.rs:82:1 [INFO] [stderr] | [INFO] [stderr] 82 | struct Tanh{ [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate `RustProject` should have a snake case name [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] = help: convert the identifier to snake case: `rust_project` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | writeln!(file, "{}", strings.join(" ")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: structure field `W` should have a snake case name [INFO] [stderr] --> src/main.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | W: Matrix, [INFO] [stderr] | ^ help: convert the identifier to snake case: `w` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_Y` should have a snake case name [INFO] [stderr] --> src/main.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | buffer_Y:Matrix, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_y` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_X` should have a snake case name [INFO] [stderr] --> src/main.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | buffer_X:Matrix [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_x` [INFO] [stderr] [INFO] [stderr] warning: structure field `true_Y` should have a snake case name [INFO] [stderr] --> src/main.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | true_Y: Matrix, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `true_y` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_X` should have a snake case name [INFO] [stderr] --> src/main.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | buffer_X: Matrix, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_x` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_Y` should have a snake case name [INFO] [stderr] --> src/main.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | buffer_Y: Matrix [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_y` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_X` should have a snake case name [INFO] [stderr] --> src/main.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | buffer_X: Matrix, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_x` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_Y` should have a snake case name [INFO] [stderr] --> src/main.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | buffer_Y: Matrix [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_y` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_X` should have a snake case name [INFO] [stderr] --> src/main.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | buffer_X: Matrix, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_x` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_Y` should have a snake case name [INFO] [stderr] --> src/main.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | buffer_Y: Matrix [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_y` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:89:27 [INFO] [stderr] | [INFO] [stderr] 89 | fn forward(&mut self, X: Matrix) -> Matrix; [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `dLdY` should have a snake case name [INFO] [stderr] --> src/main.rs:91:28 [INFO] [stderr] | [INFO] [stderr] 91 | fn backward(&mut self, dLdY: Matrix) -> Matrix; [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `d_ld_y` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:95:27 [INFO] [stderr] | [INFO] [stderr] 95 | fn forward(&mut self, X: Matrix) -> Matrix { [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `dLdY` should have a snake case name [INFO] [stderr] --> src/main.rs:108:28 [INFO] [stderr] | [INFO] [stderr] 108 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `d_ld_y` [INFO] [stderr] [INFO] [stderr] warning: variable `gradW` should have a snake case name [INFO] [stderr] --> src/main.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | let mut gradW = self.buffer_X.transpose() * &dLdY; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `grad_w` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:121:27 [INFO] [stderr] | [INFO] [stderr] 121 | fn forward(&mut self, X: Matrix) -> Matrix { [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `dLdY` should have a snake case name [INFO] [stderr] --> src/main.rs:129:28 [INFO] [stderr] | [INFO] [stderr] 129 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `d_ld_y` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:135:27 [INFO] [stderr] | [INFO] [stderr] 135 | fn forward(&mut self, X: Matrix) -> Matrix { [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `dLdY` should have a snake case name [INFO] [stderr] --> src/main.rs:143:28 [INFO] [stderr] | [INFO] [stderr] 143 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `d_ld_y` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:151:27 [INFO] [stderr] | [INFO] [stderr] 151 | fn forward(&mut self, X: Matrix) -> Matrix { [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `dLdY` should have a snake case name [INFO] [stderr] --> src/main.rs:158:28 [INFO] [stderr] | [INFO] [stderr] 158 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `d_ld_y` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:172:37 [INFO] [stderr] | [INFO] [stderr] 172 | fn forward(model: &mut Perceptrone, X: Matrix) -> Matrix{ [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:178:46 [INFO] [stderr] | [INFO] [stderr] 178 | fn forward_backward(model: &mut Perceptrone, X: Matrix, y:Matrix) -> f64 { [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `X_train` should have a snake case name [INFO] [stderr] --> src/main.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | let mut X_train = parse("X_train.txt"); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `x_train` [INFO] [stderr] [INFO] [stderr] warning: variable `X_test` should have a snake case name [INFO] [stderr] --> src/main.rs:197:13 [INFO] [stderr] | [INFO] [stderr] 197 | let mut X_test = parse("X_test.txt"); [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `x_test` [INFO] [stderr] [INFO] [stderr] warning: variable `W1` should have a snake case name [INFO] [stderr] --> src/main.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | let W1:Matrix = DMatrix::from_element(4, 32, 0.01); [INFO] [stderr] | ^^ help: convert the identifier to snake case: `w1` [INFO] [stderr] [INFO] [stderr] warning: variable `W2` should have a snake case name [INFO] [stderr] --> src/main.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | let W2:Matrix = DMatrix::from_element(32, 1, 0.01); [INFO] [stderr] | ^^ help: convert the identifier to snake case: `w2` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `gr` is never read [INFO] [stderr] --> src/main.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | gr = model.l1.backward(gr); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/main.rs:178:57 [INFO] [stderr] | [INFO] [stderr] 178 | fn forward_backward(model: &mut Perceptrone, X: Matrix, y:Matrix) -> f64 { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_y` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `batch_size` [INFO] [stderr] --> src/main.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | let batch_size = batch_size as usize; [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_batch_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | for i in 1..100 { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ones` [INFO] [stderr] --> src/main.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | let ones = Matrix::from_element(self.s0, 1, 1.); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ones` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dLdY` [INFO] [stderr] --> src/main.rs:129:28 [INFO] [stderr] | [INFO] [stderr] 129 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_dLdY` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dLdY` [INFO] [stderr] --> src/main.rs:143:28 [INFO] [stderr] | [INFO] [stderr] 143 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_dLdY` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dLdY` [INFO] [stderr] --> src/main.rs:158:28 [INFO] [stderr] | [INFO] [stderr] 158 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_dLdY` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | let mut a = DMatrix::from_row_slice(m, n, &mat[..]); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | let mut gradW = self.buffer_X.transpose() * &dLdY; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:194:9 [INFO] [stderr] | [INFO] [stderr] 194 | let mut X_train = parse("X_train.txt"); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | let mut y_train = parse("y_train.txt"); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:197:9 [INFO] [stderr] | [INFO] [stderr] 197 | let mut X_test = parse("X_test.txt"); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:221:9 [INFO] [stderr] | [INFO] [stderr] 221 | let mut l3 = Linear{ [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 232 | let mut l4 = MSE{ [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never used: `s0` [INFO] [stderr] --> src/main.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | s0: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Tanh` [INFO] [stderr] --> src/main.rs:82:1 [INFO] [stderr] | [INFO] [stderr] 82 | struct Tanh{ [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate `RustProject` should have a snake case name [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] = help: convert the identifier to snake case: `rust_project` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | writeln!(file, "{}", strings.join(" ")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: structure field `W` should have a snake case name [INFO] [stderr] --> src/main.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | W: Matrix, [INFO] [stderr] | ^ help: convert the identifier to snake case: `w` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_Y` should have a snake case name [INFO] [stderr] --> src/main.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | buffer_Y:Matrix, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_y` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_X` should have a snake case name [INFO] [stderr] --> src/main.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | buffer_X:Matrix [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_x` [INFO] [stderr] [INFO] [stderr] warning: structure field `true_Y` should have a snake case name [INFO] [stderr] --> src/main.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | true_Y: Matrix, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `true_y` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_X` should have a snake case name [INFO] [stderr] --> src/main.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | buffer_X: Matrix, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_x` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_Y` should have a snake case name [INFO] [stderr] --> src/main.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | buffer_Y: Matrix [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_y` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_X` should have a snake case name [INFO] [stderr] --> src/main.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | buffer_X: Matrix, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_x` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_Y` should have a snake case name [INFO] [stderr] --> src/main.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | buffer_Y: Matrix [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_y` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_X` should have a snake case name [INFO] [stderr] --> src/main.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | buffer_X: Matrix, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_x` [INFO] [stderr] [INFO] [stderr] warning: structure field `buffer_Y` should have a snake case name [INFO] [stderr] --> src/main.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | buffer_Y: Matrix [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `buffer_y` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:89:27 [INFO] [stderr] | [INFO] [stderr] 89 | fn forward(&mut self, X: Matrix) -> Matrix; [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `dLdY` should have a snake case name [INFO] [stderr] --> src/main.rs:91:28 [INFO] [stderr] | [INFO] [stderr] 91 | fn backward(&mut self, dLdY: Matrix) -> Matrix; [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `d_ld_y` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:95:27 [INFO] [stderr] | [INFO] [stderr] 95 | fn forward(&mut self, X: Matrix) -> Matrix { [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `dLdY` should have a snake case name [INFO] [stderr] --> src/main.rs:108:28 [INFO] [stderr] | [INFO] [stderr] 108 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `d_ld_y` [INFO] [stderr] [INFO] [stderr] warning: variable `gradW` should have a snake case name [INFO] [stderr] --> src/main.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | let mut gradW = self.buffer_X.transpose() * &dLdY; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `grad_w` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:121:27 [INFO] [stderr] | [INFO] [stderr] 121 | fn forward(&mut self, X: Matrix) -> Matrix { [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `dLdY` should have a snake case name [INFO] [stderr] --> src/main.rs:129:28 [INFO] [stderr] | [INFO] [stderr] 129 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `d_ld_y` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:135:27 [INFO] [stderr] | [INFO] [stderr] 135 | fn forward(&mut self, X: Matrix) -> Matrix { [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `dLdY` should have a snake case name [INFO] [stderr] --> src/main.rs:143:28 [INFO] [stderr] | [INFO] [stderr] 143 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `d_ld_y` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:151:27 [INFO] [stderr] | [INFO] [stderr] 151 | fn forward(&mut self, X: Matrix) -> Matrix { [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `dLdY` should have a snake case name [INFO] [stderr] --> src/main.rs:158:28 [INFO] [stderr] | [INFO] [stderr] 158 | fn backward(&mut self, dLdY: Matrix) -> Matrix { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `d_ld_y` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:172:37 [INFO] [stderr] | [INFO] [stderr] 172 | fn forward(model: &mut Perceptrone, X: Matrix) -> Matrix{ [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `X` should have a snake case name [INFO] [stderr] --> src/main.rs:178:46 [INFO] [stderr] | [INFO] [stderr] 178 | fn forward_backward(model: &mut Perceptrone, X: Matrix, y:Matrix) -> f64 { [INFO] [stderr] | ^ help: convert the identifier to snake case: `x` [INFO] [stderr] [INFO] [stderr] warning: variable `X_train` should have a snake case name [INFO] [stderr] --> src/main.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | let mut X_train = parse("X_train.txt"); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `x_train` [INFO] [stderr] [INFO] [stderr] warning: variable `X_test` should have a snake case name [INFO] [stderr] --> src/main.rs:197:13 [INFO] [stderr] | [INFO] [stderr] 197 | let mut X_test = parse("X_test.txt"); [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `x_test` [INFO] [stderr] [INFO] [stderr] warning: variable `W1` should have a snake case name [INFO] [stderr] --> src/main.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | let W1:Matrix = DMatrix::from_element(4, 32, 0.01); [INFO] [stderr] | ^^ help: convert the identifier to snake case: `w1` [INFO] [stderr] [INFO] [stderr] warning: variable `W2` should have a snake case name [INFO] [stderr] --> src/main.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | let W2:Matrix = DMatrix::from_element(32, 1, 0.01); [INFO] [stderr] | ^^ help: convert the identifier to snake case: `w2` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 41.17s [INFO] running `"docker" "inspect" "b52f6c61d370c294a6232f03d1d216d6aa586e2a015e5e19a188fab16ba31910"` [INFO] running `"docker" "rm" "-f" "b52f6c61d370c294a6232f03d1d216d6aa586e2a015e5e19a188fab16ba31910"` [INFO] [stdout] b52f6c61d370c294a6232f03d1d216d6aa586e2a015e5e19a188fab16ba31910