[INFO] fetching crate rusty-machine 0.5.4...
[INFO] checking rusty-machine-0.5.4 against 1.95.0 for pr-155915
[INFO] extracting crate rusty-machine 0.5.4 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate rusty-machine 0.5.4
[INFO] finished tweaking crates.io crate rusty-machine 0.5.4
[INFO] tweaked toml for crates.io crate rusty-machine 0.5.4 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rusty-machine 0.5.4 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 18 packages to latest compatible versions
[INFO] [stderr]       Adding num v0.1.43 (available: v0.4.3)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.10.1)
[INFO] [stderr]       Adding rulinalg v0.3.7 (available: v0.4.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rulinalg v0.3.7
[INFO] [stderr]   Downloaded rawpointer v0.1.0
[INFO] [stderr]   Downloaded matrixmultiply v0.1.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 05ab9b976c4381d6b4bba2ee96ed59790aaed830c15862304d0ea91cfdb6565c
[INFO] running `Command { std: "docker" "start" "-a" "05ab9b976c4381d6b4bba2ee96ed59790aaed830c15862304d0ea91cfdb6565c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "05ab9b976c4381d6b4bba2ee96ed59790aaed830c15862304d0ea91cfdb6565c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05ab9b976c4381d6b4bba2ee96ed59790aaed830c15862304d0ea91cfdb6565c", kill_on_drop: false }`
[INFO] [stdout] 05ab9b976c4381d6b4bba2ee96ed59790aaed830c15862304d0ea91cfdb6565c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 130646ce43443fd74802b6986f8cb0d0188f3f623ef9538a5257e33b6b13ca13
[INFO] running `Command { std: "docker" "start" "-a" "130646ce43443fd74802b6986f8cb0d0188f3f623ef9538a5257e33b6b13ca13", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling matrixmultiply v0.1.15
[INFO] [stderr]     Checking rawpointer v0.1.0
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num v0.1.43
[INFO] [stderr]     Checking rulinalg v0.3.7
[INFO] [stderr]     Checking rusty-machine v0.5.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]    --> src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | #[macro_use]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/data/transforms/minmax.rs:115:22
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let scales = try!(input_min_max.iter()
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/data/transforms/minmax.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |             try!(self.fit(&inputs));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/data/transforms/standardize.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |             let variance = try!(inputs.variance(Axes::Row).map_err(|_| {
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/data/transforms/standardize.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             try!(self.fit(&inputs));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/learning/gmm.rs:82:27
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let cov_mat = try!(self.initialize_covariances(inputs, reg_value));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/learning/gmm.rs:93:40
[INFO] [stdout]    |
[INFO] [stdout] 93 |             let (weights, log_lik_1) = try!(self.membership_weights(inputs));
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gmm.rs:110:16
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Ok(try!(self.membership_weights(inputs)).0)
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gmm.rs:229:32
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 let variance = try!(inputs.variance(Axes::Row));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gmm.rs:265:33
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 let covar_inv = try!(cov.inverse().map_err(Error::from));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/learning/k_means.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         try!(self.init_centroids(inputs));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/learning/k_means.rs:98:36
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let (idx, distances) = try!(self.get_closest_centroids(inputs));
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/k_means.rs:194:29
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let centroids = try!(self.init_algorithm.init_centroids(self.k, inputs));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gp.rs:151:29
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let post_mean = try!(self.ker_mat(inputs, t_data)) * alpha;
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gp.rs:164:25
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let train_mat = try!((ker_mat + noise_mat).cholesky().map_err(|_| {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gp.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let post_mean = mean + try!(self.ker_mat(inputs, t_data)) * alpha;
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gp.rs:196:28
[INFO] [stdout]     |
[INFO] [stdout] 196 |             let test_mat = try!(self.ker_mat(inputs, t_data));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gp.rs:205:28
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let post_var = try!(self.ker_mat(inputs, inputs)) - &v_mat * v_mat.transpose();
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/svm.rs:133:27
[INFO] [stdout]     |
[INFO] [stdout] 133 |             let ker_mat = try!(self.ker_mat(&full_inputs, train_inputs));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/naive_bayes.rs:116:25
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let log_probs = try!(self.get_log_probs(inputs));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/naive_bayes.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |             let class = try!(NaiveBayes::<T>::find_class(row));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/naive_bayes.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 try!(distr.update_params(&inputs.select_rows(&c), idx));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/naive_bayes.rs:268:19
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let var = try!(data.variance(Axes::Row).map_err(|_| {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/learning/toolkit/kernel.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |         (self.ampl * x.exp())
[INFO] [stdout]     |         ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 292 -         (self.ampl * x.exp())
[INFO] [stdout] 292 +         self.ampl * x.exp()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/learning/toolkit/kernel.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         (self.ampl * x.exp())
[INFO] [stdout]     |         ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 354 -         (self.ampl * x.exp())
[INFO] [stdout] 354 +         self.ampl * x.exp()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/analysis/cross_validation.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let _ = try!(model.train(&train_inputs, &train_targets));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/analysis/cross_validation.rs:71:23
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let outputs = try!(model.predict(&test_inputs));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/learning/error.rs:62:88
[INFO] [stdout]    |
[INFO] [stdout] 62 |         Error::new(ErrorKind::LinearAlgebra, <rulinalg::error::Error as error::Error>::description(&e))
[INFO] [stdout]    |                                                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/learning/error.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |     error: Box<error::Error + Send + Sync>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     error: Box<dyn error::Error + Send + Sync>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/data/transforms/minmax.rs:115:22
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let scales = try!(input_min_max.iter()
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/data/transforms/minmax.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |             try!(self.fit(&inputs));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/data/transforms/standardize.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |             let variance = try!(inputs.variance(Axes::Row).map_err(|_| {
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/data/transforms/standardize.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             try!(self.fit(&inputs));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/learning/gmm.rs:82:27
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let cov_mat = try!(self.initialize_covariances(inputs, reg_value));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/learning/gmm.rs:93:40
[INFO] [stdout]    |
[INFO] [stdout] 93 |             let (weights, log_lik_1) = try!(self.membership_weights(inputs));
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gmm.rs:110:16
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Ok(try!(self.membership_weights(inputs)).0)
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gmm.rs:229:32
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 let variance = try!(inputs.variance(Axes::Row));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gmm.rs:265:33
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 let covar_inv = try!(cov.inverse().map_err(Error::from));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/learning/k_means.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         try!(self.init_centroids(inputs));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/learning/k_means.rs:98:36
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let (idx, distances) = try!(self.get_closest_centroids(inputs));
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/k_means.rs:194:29
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let centroids = try!(self.init_algorithm.init_centroids(self.k, inputs));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gp.rs:151:29
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let post_mean = try!(self.ker_mat(inputs, t_data)) * alpha;
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gp.rs:164:25
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let train_mat = try!((ker_mat + noise_mat).cholesky().map_err(|_| {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gp.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let post_mean = mean + try!(self.ker_mat(inputs, t_data)) * alpha;
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gp.rs:196:28
[INFO] [stdout]     |
[INFO] [stdout] 196 |             let test_mat = try!(self.ker_mat(inputs, t_data));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/gp.rs:205:28
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let post_var = try!(self.ker_mat(inputs, inputs)) - &v_mat * v_mat.transpose();
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/svm.rs:133:27
[INFO] [stdout]     |
[INFO] [stdout] 133 |             let ker_mat = try!(self.ker_mat(&full_inputs, train_inputs));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/naive_bayes.rs:116:25
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let log_probs = try!(self.get_log_probs(inputs));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/naive_bayes.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |             let class = try!(NaiveBayes::<T>::find_class(row));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/naive_bayes.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 try!(distr.update_params(&inputs.select_rows(&c), idx));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/learning/naive_bayes.rs:268:19
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let var = try!(data.variance(Axes::Row).map_err(|_| {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/learning/toolkit/kernel.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |         (self.ampl * x.exp())
[INFO] [stdout]     |         ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 292 -         (self.ampl * x.exp())
[INFO] [stdout] 292 +         self.ampl * x.exp()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/learning/toolkit/kernel.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         (self.ampl * x.exp())
[INFO] [stdout]     |         ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 354 -         (self.ampl * x.exp())
[INFO] [stdout] 354 +         self.ampl * x.exp()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/analysis/cross_validation.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let _ = try!(model.train(&train_inputs, &train_targets));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/analysis/cross_validation.rs:71:23
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let outputs = try!(model.predict(&test_inputs));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/learning/error.rs:62:88
[INFO] [stdout]    |
[INFO] [stdout] 62 |         Error::new(ErrorKind::LinearAlgebra, <rulinalg::error::Error as error::Error>::description(&e))
[INFO] [stdout]    |                                                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/learning/error.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |         where E: Into<Box<error::Error + Send + Sync>>
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |         where E: Into<Box<dyn error::Error + Send + Sync>>
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/learning/error.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |     error: Box<error::Error + Send + Sync>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     error: Box<dyn error::Error + Send + Sync>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/learning/error.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |         where E: Into<Box<error::Error + Send + Sync>>
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |         where E: Into<Box<dyn error::Error + Send + Sync>>
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/learning/error.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |         self.error.description()
[INFO] [stdout]    |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/learning/error.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |         self.error.description()
[INFO] [stdout]    |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:109:33
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn default(layer_sizes: &[usize]) -> NeuralNet<BCECriterion, StochasticGD> {
[INFO] [stdout]     |                                 ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn default(layer_sizes: &[usize]) -> NeuralNet<'_, BCECriterion, StochasticGD> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn get_net_weights(&self, idx: usize) -> MatrixSlice<f64> {
[INFO] [stdout]     |                            ^^^^^                 ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn get_net_weights(&self, idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:182:29
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn default(layer_sizes: &[usize]) -> BaseNeuralNet<BCECriterion> {
[INFO] [stdout]     |                             ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn default(layer_sizes: &[usize]) -> BaseNeuralNet<'_, BCECriterion> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet<T> {
[INFO] [stdout]     |                         ^^^^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet<'_, T> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:215:26
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn get_layer_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<f64> {
[INFO] [stdout]     |                          ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn get_layer_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn get_net_weights(&self, idx: usize) -> MatrixSlice<f64> {
[INFO] [stdout]     |                        ^^^^^                 ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn get_net_weights(&self, idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn get_non_bias_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<f64> {
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn get_non_bias_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/data/transforms/minmax.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         transformed[[0, 0]].abs() < 1e-10;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let _ = transformed[[0, 0]].abs() < 1e-10;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/data/transforms/minmax.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |         transformed[[0, 1]].abs() < 1e-10;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let _ = transformed[[0, 1]].abs() < 1e-10;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/data/transforms/minmax.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |         (transformed[[1, 0]] - 1.0).abs() < 1e-10;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let _ = (transformed[[1, 0]] - 1.0).abs() < 1e-10;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/data/transforms/minmax.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         (transformed[[1, 1]] - 1.0).abs() < 1e-10;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let _ = (transformed[[1, 1]] - 1.0).abs() < 1e-10;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/data/transforms/minmax.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |         (transformed[[0, 0]] - 1.0).abs() < 1e-10;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let _ = (transformed[[0, 0]] - 1.0).abs() < 1e-10;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/data/transforms/minmax.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         (transformed[[0, 1]] - 1.0).abs() < 1e-10;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let _ = (transformed[[0, 1]] - 1.0).abs() < 1e-10;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/data/transforms/minmax.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |         (transformed[[1, 0]] - 3.0).abs() < 1e-10;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let _ = (transformed[[1, 0]] - 3.0).abs() < 1e-10;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/data/transforms/minmax.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         (transformed[[1, 1]] - 3.0).abs() < 1e-10;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let _ = (transformed[[1, 1]] - 3.0).abs() < 1e-10;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:109:33
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn default(layer_sizes: &[usize]) -> NeuralNet<BCECriterion, StochasticGD> {
[INFO] [stdout]     |                                 ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn default(layer_sizes: &[usize]) -> NeuralNet<'_, BCECriterion, StochasticGD> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn get_net_weights(&self, idx: usize) -> MatrixSlice<f64> {
[INFO] [stdout]     |                            ^^^^^                 ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn get_net_weights(&self, idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:182:29
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn default(layer_sizes: &[usize]) -> BaseNeuralNet<BCECriterion> {
[INFO] [stdout]     |                             ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn default(layer_sizes: &[usize]) -> BaseNeuralNet<'_, BCECriterion> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet<T> {
[INFO] [stdout]     |                         ^^^^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet<'_, T> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:215:26
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn get_layer_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<f64> {
[INFO] [stdout]     |                          ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn get_layer_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn get_net_weights(&self, idx: usize) -> MatrixSlice<f64> {
[INFO] [stdout]     |                        ^^^^^                 ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn get_net_weights(&self, idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/learning/nnet.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn get_non_bias_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<f64> {
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn get_non_bias_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> benches/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(test)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> tests/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusty-machine` (bench "lib") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "130646ce43443fd74802b6986f8cb0d0188f3f623ef9538a5257e33b6b13ca13", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "130646ce43443fd74802b6986f8cb0d0188f3f623ef9538a5257e33b6b13ca13", kill_on_drop: false }`
[INFO] [stdout] 130646ce43443fd74802b6986f8cb0d0188f3f623ef9538a5257e33b6b13ca13
