[INFO] fetching crate rusty-machine 0.5.4...
[INFO] testing rusty-machine-0.5.4 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate rusty-machine 0.5.4 into /workspace/builds/worker-6-tc2/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-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rusty-machine 0.5.4 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "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" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c1413fa5c5f4f41b0b21433135f0046ad0a275c7bdebfd3d1939ea1322506e4f
[INFO] running `Command { std: "docker" "start" "-a" "c1413fa5c5f4f41b0b21433135f0046ad0a275c7bdebfd3d1939ea1322506e4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c1413fa5c5f4f41b0b21433135f0046ad0a275c7bdebfd3d1939ea1322506e4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1413fa5c5f4f41b0b21433135f0046ad0a275c7bdebfd3d1939ea1322506e4f", kill_on_drop: false }`
[INFO] [stdout] c1413fa5c5f4f41b0b21433135f0046ad0a275c7bdebfd3d1939ea1322506e4f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0967805f1fe9f74d717b9291aa5c2a17726ef8030ed8a1d27e6ed5bbfaa79a92
[INFO] running `Command { std: "docker" "start" "-a" "0967805f1fe9f74d717b9291aa5c2a17726ef8030ed8a1d27e6ed5bbfaa79a92", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling matrixmultiply v0.1.15
[INFO] [stderr]    Compiling rawpointer v0.1.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num v0.1.43
[INFO] [stderr]    Compiling rulinalg v0.3.7
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling 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: 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: 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.63s
[INFO] running `Command { std: "docker" "inspect" "0967805f1fe9f74d717b9291aa5c2a17726ef8030ed8a1d27e6ed5bbfaa79a92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0967805f1fe9f74d717b9291aa5c2a17726ef8030ed8a1d27e6ed5bbfaa79a92", kill_on_drop: false }`
[INFO] [stdout] 0967805f1fe9f74d717b9291aa5c2a17726ef8030ed8a1d27e6ed5bbfaa79a92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 61e16f9f29816b8c7a76ce72d8d5191072b57d16f3d4d1b19676be1d6c4d928d
[INFO] running `Command { std: "docker" "start" "-a" "61e16f9f29816b8c7a76ce72d8d5191072b57d16f3d4d1b19676be1d6c4d928d", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[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] [stderr]    Compiling rusty-machine v0.5.4 (/opt/rustwide/workdir)
[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: 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 `#[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] 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: 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: 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.40s
[INFO] running `Command { std: "docker" "inspect" "61e16f9f29816b8c7a76ce72d8d5191072b57d16f3d4d1b19676be1d6c4d928d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61e16f9f29816b8c7a76ce72d8d5191072b57d16f3d4d1b19676be1d6c4d928d", kill_on_drop: false }`
[INFO] [stdout] 61e16f9f29816b8c7a76ce72d8d5191072b57d16f3d4d1b19676be1d6c4d928d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c24c8eb85b0555b9febd811f8553ba05853bcfc91db6d8fa686b589d5cae4ce9
[INFO] running `Command { std: "docker" "start" "-a" "c24c8eb85b0555b9febd811f8553ba05853bcfc91db6d8fa686b589d5cae4ce9", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]    --> src/lib.rs:108:1
[INFO] [stderr]     |
[INFO] [stderr] 108 | #[macro_use]
[INFO] [stderr]     | ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/data/transforms/minmax.rs:115:22
[INFO] [stderr]     |
[INFO] [stderr] 115 |         let scales = try!(input_min_max.iter()
[INFO] [stderr]     |                      ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/data/transforms/minmax.rs:140:13
[INFO] [stderr]     |
[INFO] [stderr] 140 |             try!(self.fit(&inputs));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/data/transforms/standardize.rs:97:28
[INFO] [stderr]    |
[INFO] [stderr] 97 |             let variance = try!(inputs.variance(Axes::Row).map_err(|_| {
[INFO] [stderr]    |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/data/transforms/standardize.rs:113:13
[INFO] [stderr]     |
[INFO] [stderr] 113 |             try!(self.fit(&inputs));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/learning/gmm.rs:82:27
[INFO] [stderr]    |
[INFO] [stderr] 82 |             let cov_mat = try!(self.initialize_covariances(inputs, reg_value));
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/learning/gmm.rs:93:40
[INFO] [stderr]    |
[INFO] [stderr] 93 |             let (weights, log_lik_1) = try!(self.membership_weights(inputs));
[INFO] [stderr]    |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/gmm.rs:110:16
[INFO] [stderr]     |
[INFO] [stderr] 110 |             Ok(try!(self.membership_weights(inputs)).0)
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/gmm.rs:229:32
[INFO] [stderr]     |
[INFO] [stderr] 229 |                 let variance = try!(inputs.variance(Axes::Row));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/gmm.rs:265:33
[INFO] [stderr]     |
[INFO] [stderr] 265 |                 let covar_inv = try!(cov.inverse().map_err(Error::from));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/learning/k_means.rs:93:9
[INFO] [stderr]    |
[INFO] [stderr] 93 |         try!(self.init_centroids(inputs));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/learning/k_means.rs:98:36
[INFO] [stderr]    |
[INFO] [stderr] 98 |             let (idx, distances) = try!(self.get_closest_centroids(inputs));
[INFO] [stderr]    |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/k_means.rs:194:29
[INFO] [stderr]     |
[INFO] [stderr] 194 |             let centroids = try!(self.init_algorithm.init_centroids(self.k, inputs));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/gp.rs:151:29
[INFO] [stderr]     |
[INFO] [stderr] 151 |             let post_mean = try!(self.ker_mat(inputs, t_data)) * alpha;
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/gp.rs:164:25
[INFO] [stderr]     |
[INFO] [stderr] 164 |         let train_mat = try!((ker_mat + noise_mat).cholesky().map_err(|_| {
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/gp.rs:194:36
[INFO] [stderr]     |
[INFO] [stderr] 194 |             let post_mean = mean + try!(self.ker_mat(inputs, t_data)) * alpha;
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/gp.rs:196:28
[INFO] [stderr]     |
[INFO] [stderr] 196 |             let test_mat = try!(self.ker_mat(inputs, t_data));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/gp.rs:205:28
[INFO] [stderr]     |
[INFO] [stderr] 205 |             let post_var = try!(self.ker_mat(inputs, inputs)) - &v_mat * v_mat.transpose();
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/svm.rs:133:27
[INFO] [stderr]     |
[INFO] [stderr] 133 |             let ker_mat = try!(self.ker_mat(&full_inputs, train_inputs));
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/naive_bayes.rs:116:25
[INFO] [stderr]     |
[INFO] [stderr] 116 |         let log_probs = try!(self.get_log_probs(inputs));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/naive_bayes.rs:157:25
[INFO] [stderr]     |
[INFO] [stderr] 157 |             let class = try!(NaiveBayes::<T>::find_class(row));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/naive_bayes.rs:173:17
[INFO] [stderr]     |
[INFO] [stderr] 173 |                 try!(distr.update_params(&inputs.select_rows(&c), idx));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/learning/naive_bayes.rs:268:19
[INFO] [stderr]     |
[INFO] [stderr] 268 |         let var = try!(data.variance(Axes::Row).map_err(|_| {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/learning/toolkit/kernel.rs:292:9
[INFO] [stderr]     |
[INFO] [stderr] 292 |         (self.ampl * x.exp())
[INFO] [stderr]     |         ^                   ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 292 -         (self.ampl * x.exp())
[INFO] [stderr] 292 +         self.ampl * x.exp()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/learning/toolkit/kernel.rs:354:9
[INFO] [stderr]     |
[INFO] [stderr] 354 |         (self.ampl * x.exp())
[INFO] [stderr]     |         ^                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 354 -         (self.ampl * x.exp())
[INFO] [stderr] 354 +         self.ampl * x.exp()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/analysis/cross_validation.rs:70:17
[INFO] [stderr]    |
[INFO] [stderr] 70 |         let _ = try!(model.train(&train_inputs, &train_targets));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/analysis/cross_validation.rs:71:23
[INFO] [stderr]    |
[INFO] [stderr] 71 |         let outputs = try!(model.predict(&test_inputs));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/learning/error.rs:62:88
[INFO] [stderr]    |
[INFO] [stderr] 62 |         Error::new(ErrorKind::LinearAlgebra, <rulinalg::error::Error as error::Error>::description(&e))
[INFO] [stderr]    |                                                                                        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/learning/error.rs:15:16
[INFO] [stderr]    |
[INFO] [stderr] 15 |     error: Box<error::Error + Send + Sync>,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 15 |     error: Box<dyn error::Error + Send + Sync>,
[INFO] [stderr]    |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/learning/error.rs:39:27
[INFO] [stderr]    |
[INFO] [stderr] 39 |         where E: Into<Box<error::Error + Send + Sync>>
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 39 |         where E: Into<Box<dyn error::Error + Send + Sync>>
[INFO] [stderr]    |                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/learning/error.rs:68:20
[INFO] [stderr]    |
[INFO] [stderr] 68 |         self.error.description()
[INFO] [stderr]    |                    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/learning/nnet.rs:109:33
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub fn default(layer_sizes: &[usize]) -> NeuralNet<BCECriterion, StochasticGD> {
[INFO] [stderr]     |                                 ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub fn default(layer_sizes: &[usize]) -> NeuralNet<'_, BCECriterion, StochasticGD> {
[INFO] [stderr]     |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/learning/nnet.rs:164:28
[INFO] [stderr]     |
[INFO] [stderr] 164 |     pub fn get_net_weights(&self, idx: usize) -> MatrixSlice<f64> {
[INFO] [stderr]     |                            ^^^^^                 ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 164 |     pub fn get_net_weights(&self, idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stderr]     |                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/learning/nnet.rs:182:29
[INFO] [stderr]     |
[INFO] [stderr] 182 |     fn default(layer_sizes: &[usize]) -> BaseNeuralNet<BCECriterion> {
[INFO] [stderr]     |                             ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 182 |     fn default(layer_sizes: &[usize]) -> BaseNeuralNet<'_, BCECriterion> {
[INFO] [stderr]     |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/learning/nnet.rs:190:25
[INFO] [stderr]     |
[INFO] [stderr] 190 |     fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet<T> {
[INFO] [stderr]     |                         ^^^^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 190 |     fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet<'_, T> {
[INFO] [stderr]     |                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/learning/nnet.rs:215:26
[INFO] [stderr]     |
[INFO] [stderr] 215 |     fn get_layer_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<f64> {
[INFO] [stderr]     |                          ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 215 |     fn get_layer_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stderr]     |                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/learning/nnet.rs:243:24
[INFO] [stderr]     |
[INFO] [stderr] 243 |     fn get_net_weights(&self, idx: usize) -> MatrixSlice<f64> {
[INFO] [stderr]     |                        ^^^^^                 ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 243 |     fn get_net_weights(&self, idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stderr]     |                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/learning/nnet.rs:248:29
[INFO] [stderr]     |
[INFO] [stderr] 248 |     fn get_non_bias_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<f64> {
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 248 |     fn get_non_bias_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<'_, f64> {
[INFO] [stderr]     |                                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stderr]    --> src/data/transforms/minmax.rs:228:9
[INFO] [stderr]     |
[INFO] [stderr] 228 |         transformed[[0, 0]].abs() < 1e-10;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 228 |         let _ = transformed[[0, 0]].abs() < 1e-10;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stderr]    --> src/data/transforms/minmax.rs:229:9
[INFO] [stderr]     |
[INFO] [stderr] 229 |         transformed[[0, 1]].abs() < 1e-10;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 229 |         let _ = transformed[[0, 1]].abs() < 1e-10;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stderr]    --> src/data/transforms/minmax.rs:230:9
[INFO] [stderr]     |
[INFO] [stderr] 230 |         (transformed[[1, 0]] - 1.0).abs() < 1e-10;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout] 
[INFO] [stderr]     |
[INFO] [stdout] running 65 tests
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 230 |         let _ = (transformed[[1, 0]] - 1.0).abs() < 1e-10;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stderr]    --> src/data/transforms/minmax.rs:231:9
[INFO] [stderr]     |
[INFO] [stderr] 231 |         (transformed[[1, 1]] - 1.0).abs() < 1e-10;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 231 |         let _ = (transformed[[1, 1]] - 1.0).abs() < 1e-10;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stderr]    --> src/data/transforms/minmax.rs:245:9
[INFO] [stderr]     |
[INFO] [stderr] 245 |         (transformed[[0, 0]] - 1.0).abs() < 1e-10;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 245 |         let _ = (transformed[[0, 0]] - 1.0).abs() < 1e-10;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stderr]    --> src/data/transforms/minmax.rs:246:9
[INFO] [stderr]     |
[INFO] [stderr] 246 |         (transformed[[0, 1]] - 1.0).abs() < 1e-10;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 246 |         let _ = (transformed[[0, 1]] - 1.0).abs() < 1e-10;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stderr]    --> src/data/transforms/minmax.rs:247:9
[INFO] [stderr]     |
[INFO] [stderr] 247 |         (transformed[[1, 0]] - 3.0).abs() < 1e-10;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_accepts_labels_intersecting_predictions_and_disjoint_from_targets ... ok
[INFO] [stderr]     |
[INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_no_labels ... ok
[INFO] [stderr] 247 |         let _ = (transformed[[1, 0]] - 3.0).abs() < 1e-10;
[INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_accepts_labels_intersecting_targets_and_disjoint_from_predictions ... ok
[INFO] [stderr]     |         +++++++
[INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_accepts_labels_disjoint_from_predictions_and_targets ... ok
[INFO] [stderr] 
[INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_with_labels_a_permutation_of_classes ... ok
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stdout] test analysis::cross_validation::tests::test_folds_n4_k4 ... ok
[INFO] [stderr]    --> src/data/transforms/minmax.rs:248:9
[INFO] [stdout] test analysis::cross_validation::tests::test_folds_n5_k2 ... ok
[INFO] [stderr]     |
[INFO] [stdout] test analysis::cross_validation::tests::test_folds_n6_k3 ... ok
[INFO] [stderr] 248 |         (transformed[[1, 1]] - 3.0).abs() < 1e-10;
[INFO] [stdout] test analysis::cross_validation::tests::test_folds_n6_k4 ... ok
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout] test analysis::cross_validation::tests::test_folds_unordered_indices ... ok
[INFO] [stderr]     |
[INFO] [stdout] test analysis::score::tests::test_accuracy ... ok
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout] test analysis::score::tests::test_f1 ... ok
[INFO] [stderr]     |
[INFO] [stdout] test analysis::score::tests::test_neg_mean_squared_error_1d ... ok
[INFO] [stderr] 248 |         let _ = (transformed[[1, 1]] - 3.0).abs() < 1e-10;
[INFO] [stdout] test analysis::score::tests::test_neg_mean_squared_error_2d ... ok
[INFO] [stderr]     |         +++++++
[INFO] [stdout] test analysis::score::tests::test_precision ... ok
[INFO] [stderr] 
[INFO] [stdout] test data::transforms::minmax::tests::nan_data_test ... ok
[INFO] [stderr] warning: `rusty-machine` (lib) generated 38 warnings (run `cargo fix --lib -p rusty-machine` to apply 11 suggestions)
[INFO] [stdout] test data::transforms::minmax::tests::infinity_data_test ... ok
[INFO] [stderr] warning: `rusty-machine` (lib test) generated 45 warnings (37 duplicates)
[INFO] [stdout] test data::transforms::minmax::tests::basic_scale_test ... ok
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stdout] test data::transforms::minmax::tests::constant_feature_test ... ok
[INFO] [stderr]  --> tests/lib.rs:1:1
[INFO] [stdout] test analysis::score::tests::test_recall ... ok
[INFO] [stderr]   |
[INFO] [stdout] test data::transforms::shuffle::tests::seeded_shuffle ... ok
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stdout] test data::transforms::minmax::tests::custom_scale_test ... ok
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rusty-machine` (test "lib") generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rusty_machine-fdb01b4097929dbc)
[INFO] [stdout] test data::transforms::minmax::tests::inv_transform_identity_test ... ok
[INFO] [stdout] test data::transforms::standardize::tests::custom_standardize_test ... ok
[INFO] [stdout] test data::transforms::standardize::tests::inv_transform_identity_test ... ok
[INFO] [stdout] test data::transforms::standardize::tests::inf_data_test ... ok
[INFO] [stdout] test data::transforms::shuffle::tests::shuffle_fit ... ok
[INFO] [stdout] test data::transforms::shuffle::tests::shuffle_single_row ... ok
[INFO] [stdout] test data::transforms::standardize::tests::nan_data_test ... ok
[INFO] [stdout] test data::transforms::standardize::tests::single_row_test ... ok
[INFO] [stdout] test learning::gmm::tests::test_means_none ... ok
[INFO] [stdout] test learning::gmm::tests::test_negative_mixtures ... ok
[INFO] [stdout] test learning::naive_bayes::tests::test_bernoulli ... ok
[INFO] [stdout] test learning::naive_bayes::tests::test_gaussian ... ok
[INFO] [stdout] test learning::gmm::tests::test_covars_none ... ok
[INFO] [stdout] test learning::naive_bayes::tests::test_multinomial ... ok
[INFO] [stdout] test learning::dbscan::tests::test_region_query ... ok
[INFO] [stdout] test data::transforms::standardize::tests::basic_standardize_test ... ok
[INFO] [stdout] test learning::dbscan::tests::test_region_query_small_eps ... ok
[INFO] [stdout] test learning::gmm::tests::test_wrong_length_mixtures ... ok
[INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_rejects_duplicate_labels - should panic ... ok
[INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_rejects_mismatched_prediction_and_target_lengths - should panic ... ok
[INFO] [stdout] test learning::toolkit::rand_utils::tests::test_fisher_yates ... ok
[INFO] [stdout] test learning::toolkit::rand_utils::tests::test_in_place_fisher_yates ... ok
[INFO] [stdout] test learning::toolkit::rand_utils::tests::test_reservoir_sample ... ok
[INFO] [stdout] test analysis::cross_validation::tests::test_folds_rejects_large_k - should panic ... ok
[INFO] [stdout] test learning::toolkit::regularization::tests::test_elastic_net_reg ... ok
[INFO] [stdout] test learning::toolkit::regularization::tests::test_l1_reg ... ok
[INFO] [stdout] test learning::toolkit::regularization::tests::test_l2_reg ... ok
[INFO] [stdout] test analysis::score::tests::test_f1_outputs_not_2class - should panic ... ok
[INFO] [stdout] test analysis::score::tests::test_precision_targets_not_2class - should panic ... ok
[INFO] [stdout] test analysis::score::tests::test_precision_outputs_not_2class - should panic ... ok
[INFO] [stdout] test analysis::score::tests::test_recall_outputs_not_2class - should panic ... ok
[INFO] [stdout] test learning::toolkit::regularization::tests::test_no_reg ... ok
[INFO] [stdout] test prelude::tests::create_mat_from_prelude ... ok
[INFO] [stdout] test analysis::score::tests::test_recall_targets_not_2class - should panic ... ok
[INFO] [stdout] test learning::optim::grad_desc::tests::adagrad_neg_stepsize - should panic ... ok
[INFO] [stdout] test learning::optim::grad_desc::tests::adagrad_neg_adaptive_scale - should panic ... ok
[INFO] [stdout] test learning::optim::grad_desc::tests::gd_neg_stepsize - should panic ... ok
[INFO] [stdout] test learning::optim::grad_desc::tests::rmsprop_neg_decay_rate - should panic ... ok
[INFO] [stdout] test learning::optim::grad_desc::tests::rmsprop_neg_epsilon - should panic ... ok
[INFO] [stdout] test learning::optim::grad_desc::tests::rmsprop_neg_learning_rate - should panic ... ok
[INFO] [stdout] test learning::optim::grad_desc::tests::stochastic_gd_neg_stepsize - should panic ... ok
[INFO] [stdout] test learning::optim::grad_desc::tests::stochastic_gd_neg_momentum - should panic ... ok
[INFO] [stdout] test analysis::score::tests::test_f1_targets_not_2class - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 65 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/datasets.rs (/opt/rustwide/target/debug/deps/datasets-bb1b1709d73e4c68)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lib.rs (/opt/rustwide/target/debug/deps/lib-799f54a378dbd4f8)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test learning::dbscan::test_basic_prediction ... ok
[INFO] [stdout] test learning::dbscan::test_basic_clusters ... ok
[INFO] [stdout] test learning::k_means::test_model_default ... ok
[INFO] [stdout] test learning::gp::test_default_gp ... ok
[INFO] [stdout] test learning::k_means::test_model_forgy ... ok
[INFO] [stdout] test learning::k_means::test_model_iter ... ok
[INFO] [stdout] test learning::k_means::test_model_kplusplus ... ok
[INFO] [stdout] test learning::k_means::test_model_ran_partition ... ok
[INFO] [stdout] test learning::k_means::test_two_centroids ... ok
[INFO] [stdout] test learning::optim::grad_desc::convex_fmincg_training ... ok
[INFO] [stdout] test learning::optim::grad_desc::convex_gd_training ... ok
[INFO] [stdout] test learning::lin_reg::test_optimized_regression ... ok
[INFO] [stdout] test learning::optim::grad_desc::convex_stochastic_gd_training ... ok
[INFO] [stdout] test learning::optim::grad_desc::convex_adagrad_training ... ok
[INFO] [stdout] test learning::optim::grad_desc::convex_rmsprop_training ... ok
[INFO] [stdout] test learning::lin_reg::test_regression ... ok
[INFO] [stdout] test learning::lin_reg::test_no_train_params - should panic ... ok
[INFO] [stdout] test learning::k_means::test_no_train_predict - should panic ... ok
[INFO] [stdout] test learning::lin_reg::test_no_train_predict - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rusty_machine
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/learning/toolkit/kernel.rs:292:9
[INFO] [stderr]     |
[INFO] [stderr] 292 |         (self.ampl * x.exp())
[INFO] [stderr]     |         ^                   ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 292 -         (self.ampl * x.exp())
[INFO] [stderr] 292 +         self.ampl * x.exp()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/learning/toolkit/kernel.rs:354:9
[INFO] [stderr]     |
[INFO] [stderr] 354 |         (self.ampl * x.exp())
[INFO] [stderr]     |         ^                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 354 -         (self.ampl * x.exp())
[INFO] [stderr] 354 +         self.ampl * x.exp()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 59 tests
[INFO] [stdout] test src/data/transforms/standardize.rs - data::transforms::standardize::Standardizer<T>::new (line 72) ... ok
[INFO] [stdout] test src/analysis/score.rs - analysis::score::recall (line 112) ... ok
[INFO] [stdout] test src/learning/dbscan.rs - learning::dbscan (line 21) ... ok
[INFO] [stdout] test src/data/transforms/minmax.rs - data::transforms::minmax::MinMaxScaler<T>::new (line 67) ... ok
[INFO] [stdout] test src/analysis/score.rs - analysis::score::f1 (line 160) ... ok
[INFO] [stdout] test src/learning/glm.rs - learning::glm::GenLinearModel<C>::new (line 61) ... ok
[INFO] [stdout] test src/data/transforms/standardize.rs - data::transforms::standardize (line 12) ... ok
[INFO] [stdout] test src/analysis/score.rs - analysis::score::accuracy (line 23) ... ok
[INFO] [stdout] test src/data/transforms/shuffle.rs - data::transforms::shuffle::Shuffler<R>::new (line 45) ... ok
[INFO] [stdout] test src/data/transforms/shuffle.rs - data::transforms::shuffle (line 9) ... ok
[INFO] [stdout] test src/analysis/score.rs - analysis::score::precision (line 64) ... ok
[INFO] [stdout] test src/learning/glm.rs - learning::glm (line 14) ... ok
[INFO] [stdout] test src/learning/gmm.rs - learning::gmm (line 7) ... ok
[INFO] [stdout] test src/data/transforms/minmax.rs - data::transforms::minmax (line 12) ... ok
[INFO] [stdout] test src/analysis/confusion_matrix.rs - analysis::confusion_matrix::confusion_matrix (line 24) ... ok
[INFO] [stdout] test src/learning/gmm.rs - learning::gmm::GaussianMixtureModel::new (line 125) ... ok
[INFO] [stdout] test src/learning/gmm.rs - learning::gmm::GaussianMixtureModel::with_weights (line 149) ... ok
[INFO] [stdout] test src/learning/k_means.rs - learning::k_means::KMeansClassifier<KPlusPlus>::new (line 121) ... ok
[INFO] [stdout] test src/learning/gp.rs - learning::gp::GaussianProcess<T,U>::new (line 105) ... ok
[INFO] [stdout] test src/learning/gmm.rs - learning::gmm::GaussianMixtureModel::set_max_iters (line 216) ... ok
[INFO] [stdout] test src/learning/gp.rs - learning::gp (line 7) ... ok
[INFO] [stdout] test src/learning/k_means.rs - learning::k_means::KMeansClassifier<InitAlg>::new_specified (line 144) ... ok
[INFO] [stdout] test src/learning/lin_reg.rs - learning::lin_reg (line 11) ... ok
[INFO] [stdout] test src/learning/lin_reg.rs - learning::lin_reg::LinRegressor::train (line 73) ... ok
[INFO] [stdout] test src/learning/logistic_reg.rs - learning::logistic_reg (line 11) ... ok
[INFO] [stdout] test src/learning/lin_reg.rs - learning::lin_reg::LinRegressor::train_with_optimization (line 134) ... ok
[INFO] [stdout] test src/learning/logistic_reg.rs - learning::logistic_reg::LogisticRegressor<A>::train (line 104) ... ok
[INFO] [stdout] test src/analysis/cross_validation.rs - analysis::cross_validation::k_fold_validate (line 22) ... ok
[INFO] [stdout] test src/learning/logistic_reg.rs - learning::logistic_reg::LogisticRegressor<A>::new (line 73) ... ok
[INFO] [stdout] test src/learning/naive_bayes.rs - learning::naive_bayes::NaiveBayes<T>::new (line 65) ... ok
[INFO] [stdout] test src/learning/nnet.rs - learning::nnet::MSECriterion::new (line 527) ... ok
[INFO] [stdout] test src/learning/naive_bayes.rs - learning::naive_bayes (line 11) ... ok
[INFO] [stdout] test src/learning/nnet.rs - learning::nnet::NeuralNet<'a,BCECriterion,StochasticGD>::default (line 102) ... ok
[INFO] [stdout] test src/learning/nnet.rs - learning::nnet::BCECriterion::new (line 485) ... ok
[INFO] [stdout] test src/learning/nnet.rs - learning::nnet::NeuralNet<'a,T,A>::get_net_weights (line 150) ... ok
[INFO] [stdout] test src/learning/k_means.rs - learning::k_means (line 7) ... ok
[INFO] [stdout] test src/learning/nnet.rs - learning::nnet::NeuralNet<'a,T,A>::new (line 130) ... ok
[INFO] [stdout] test src/learning/nnet.rs - learning::nnet (line 7) ... ok
[INFO] [stdout] test src/learning/toolkit/kernel.rs - learning::toolkit::kernel::Exponential::new (line 314) ... ok
[INFO] [stdout] test src/learning/optim/grad_desc.rs - learning::optim::grad_desc::GradientDesc::new (line 52) ... ok
[INFO] [stdout] test src/learning/svm.rs - learning::svm::SVM<K>::new (line 85) ... ok
[INFO] [stdout] test src/learning/optim/grad_desc.rs - learning::optim::grad_desc::AdaGrad::new (line 222) ... ok
[INFO] [stdout] test src/learning/svm.rs - learning::svm (line 12) ... ok
[INFO] [stdout] test src/learning/optim/grad_desc.rs - learning::optim::grad_desc::RMSProp::new (line 347) ... ok
[INFO] [stdout] test src/learning/toolkit/kernel.rs - learning::toolkit::kernel::Linear::new (line 143) ... ok
[INFO] [stdout] test src/learning/toolkit/kernel.rs - learning::toolkit::kernel::KernelSum (line 32) ... ok
[INFO] [stdout] test src/learning/toolkit/kernel.rs - learning::toolkit::kernel::HyperTan::new (line 374) ... ok
[INFO] [stdout] test src/learning/toolkit/kernel.rs - learning::toolkit::kernel::KernelProd (line 73) ... ok
[INFO] [stdout] test src/learning/toolkit/kernel.rs - learning::toolkit::kernel::RationalQuadratic::new (line 477) ... ok
[INFO] [stdout] test src/learning/toolkit/kernel.rs - learning::toolkit::kernel::Multiquadric::new (line 426) ... ok
[INFO] [stdout] test src/learning/optim/grad_desc.rs - learning::optim::grad_desc::StochasticGD::new (line 137) ... ok
[INFO] [stdout] test src/learning/toolkit/kernel.rs - learning::toolkit::kernel::Polynomial::new (line 191) ... ok
[INFO] [stdout] test src/learning/toolkit/regularization.rs - learning::toolkit::regularization (line 11) ... ok
[INFO] [stdout] test src/learning/toolkit/rand_utils.rs - learning::toolkit::rand_utils::fisher_yates (line 47) ... ok
[INFO] [stdout] test src/learning/toolkit/rand_utils.rs - learning::toolkit::rand_utils::reservoir_sample (line 8) ... ok
[INFO] [stdout] test src/learning/toolkit/kernel.rs - learning::toolkit::kernel::SquaredExp::new (line 252) ... ok
[INFO] [stdout] test src/learning/toolkit/rand_utils.rs - learning::toolkit::rand_utils::in_place_fisher_yates (line 90) ... ok
[INFO] [stdout] test src/lib.rs - (line 53) ... ok
[INFO] [stdout] test src/lib.rs - (line 99) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 59 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.37s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c24c8eb85b0555b9febd811f8553ba05853bcfc91db6d8fa686b589d5cae4ce9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c24c8eb85b0555b9febd811f8553ba05853bcfc91db6d8fa686b589d5cae4ce9", kill_on_drop: false }`
[INFO] [stdout] c24c8eb85b0555b9febd811f8553ba05853bcfc91db6d8fa686b589d5cae4ce9
