[INFO] fetching crate rusty-machine 0.5.4... [INFO] testing rusty-machine-0.5.4 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate rusty-machine 0.5.4 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate rusty-machine 0.5.4 [INFO] finished tweaking crates.io crate rusty-machine 0.5.4 [INFO] tweaked toml for crates.io crate rusty-machine 0.5.4 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rusty-machine 0.5.4 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "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.9.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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rawpointer v0.1.0 [INFO] [stderr] Downloaded rulinalg v0.3.7 [INFO] [stderr] Downloaded matrixmultiply v0.1.15 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e07e64d9ffac3066cad6f1fc8c0cea4926ac5c5e7538d72d28a01d90124b9115 [INFO] running `Command { std: "docker" "start" "-a" "e07e64d9ffac3066cad6f1fc8c0cea4926ac5c5e7538d72d28a01d90124b9115", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e07e64d9ffac3066cad6f1fc8c0cea4926ac5c5e7538d72d28a01d90124b9115", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e07e64d9ffac3066cad6f1fc8c0cea4926ac5c5e7538d72d28a01d90124b9115", kill_on_drop: false }` [INFO] [stdout] e07e64d9ffac3066cad6f1fc8c0cea4926ac5c5e7538d72d28a01d90124b9115 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 9a92615a758a18661f8782b735193695f37aa0ebcc6a3bd9f519dee1782510b8 [INFO] running `Command { std: "docker" "start" "-a" "9a92615a758a18661f8782b735193695f37aa0ebcc6a3bd9f519dee1782510b8", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling matrixmultiply v0.1.15 [INFO] [stderr] Compiling rawpointer v0.1.0 [INFO] [stderr] Compiling num v0.1.43 [INFO] [stderr] Compiling rulinalg v0.3.7 [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)]` 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::::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)]` 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, ::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, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | error: Box, [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> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 39 | where E: Into> [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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:109:33 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn default(layer_sizes: &[usize]) -> NeuralNet { [INFO] [stdout] | ^^^^^^^^ ------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 109 | pub fn default(layer_sizes: &[usize]) -> NeuralNet<'_, BCECriterion, StochasticGD> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:164:28 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn get_net_weights(&self, idx: usize) -> MatrixSlice { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:182:29 [INFO] [stdout] | [INFO] [stdout] 182 | fn default(layer_sizes: &[usize]) -> BaseNeuralNet { [INFO] [stdout] | ^^^^^^^^ --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 182 | fn default(layer_sizes: &[usize]) -> BaseNeuralNet<'_, BCECriterion> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet { [INFO] [stdout] | ^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 190 | fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:215:26 [INFO] [stdout] | [INFO] [stdout] 215 | fn get_layer_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:243:24 [INFO] [stdout] | [INFO] [stdout] 243 | fn get_net_weights(&self, idx: usize) -> MatrixSlice { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 243 | fn get_net_weights(&self, idx: usize) -> MatrixSlice<'_, f64> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be 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 { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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.14s [INFO] running `Command { std: "docker" "inspect" "9a92615a758a18661f8782b735193695f37aa0ebcc6a3bd9f519dee1782510b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9a92615a758a18661f8782b735193695f37aa0ebcc6a3bd9f519dee1782510b8", kill_on_drop: false }` [INFO] [stdout] 9a92615a758a18661f8782b735193695f37aa0ebcc6a3bd9f519dee1782510b8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 951c6eb815130cd312f41f3f01c6f1a30030d7dd8435b55c3ffc928e9560f5f5 [INFO] running `Command { std: "docker" "start" "-a" "951c6eb815130cd312f41f3f01c6f1a30030d7dd8435b55c3ffc928e9560f5f5", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition 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)]` 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::::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)]` 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, ::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, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | error: Box, [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> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 39 | where E: Into> [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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:109:33 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn default(layer_sizes: &[usize]) -> NeuralNet { [INFO] [stdout] | ^^^^^^^^ ------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 109 | pub fn default(layer_sizes: &[usize]) -> NeuralNet<'_, BCECriterion, StochasticGD> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rusty-machine v0.5.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:164:28 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn get_net_weights(&self, idx: usize) -> MatrixSlice { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:182:29 [INFO] [stdout] | [INFO] [stdout] 182 | fn default(layer_sizes: &[usize]) -> BaseNeuralNet { [INFO] [stdout] | ^^^^^^^^ --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 182 | fn default(layer_sizes: &[usize]) -> BaseNeuralNet<'_, BCECriterion> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet { [INFO] [stdout] | ^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 190 | fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:215:26 [INFO] [stdout] | [INFO] [stdout] 215 | fn get_layer_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:243:24 [INFO] [stdout] | [INFO] [stdout] 243 | fn get_net_weights(&self, idx: usize) -> MatrixSlice { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 243 | fn get_net_weights(&self, idx: usize) -> MatrixSlice<'_, f64> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be 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 { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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)]` 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::::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)]` 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, ::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, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | error: Box, [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> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 39 | where E: Into> [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)]` 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:109:33 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn default(layer_sizes: &[usize]) -> NeuralNet { [INFO] [stdout] | ^^^^^^^^ ------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 109 | pub fn default(layer_sizes: &[usize]) -> NeuralNet<'_, BCECriterion, StochasticGD> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:164:28 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn get_net_weights(&self, idx: usize) -> MatrixSlice { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:182:29 [INFO] [stdout] | [INFO] [stdout] 182 | fn default(layer_sizes: &[usize]) -> BaseNeuralNet { [INFO] [stdout] | ^^^^^^^^ --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 182 | fn default(layer_sizes: &[usize]) -> BaseNeuralNet<'_, BCECriterion> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet { [INFO] [stdout] | ^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 190 | fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:215:26 [INFO] [stdout] | [INFO] [stdout] 215 | fn get_layer_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/learning/nnet.rs:243:24 [INFO] [stdout] | [INFO] [stdout] 243 | fn get_net_weights(&self, idx: usize) -> MatrixSlice { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 243 | fn get_net_weights(&self, idx: usize) -> MatrixSlice<'_, f64> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be 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 { [INFO] [stdout] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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.92s [INFO] running `Command { std: "docker" "inspect" "951c6eb815130cd312f41f3f01c6f1a30030d7dd8435b55c3ffc928e9560f5f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "951c6eb815130cd312f41f3f01c6f1a30030d7dd8435b55c3ffc928e9560f5f5", kill_on_drop: false }` [INFO] [stdout] 951c6eb815130cd312f41f3f01c6f1a30030d7dd8435b55c3ffc928e9560f5f5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 7494eca62756962734783b6461d69127a454865b41855e0d119ea86571977290 [INFO] running `Command { std: "docker" "start" "-a" "7494eca62756962734783b6461d69127a454865b41855e0d119ea86571977290", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition 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)]` 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::::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)]` 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, ::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, [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 [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 15 | error: Box, [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> [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 39 | where E: Into> [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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/learning/nnet.rs:109:33 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn default(layer_sizes: &[usize]) -> NeuralNet { [INFO] [stderr] | ^^^^^^^^ ------------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 109 | pub fn default(layer_sizes: &[usize]) -> NeuralNet<'_, BCECriterion, StochasticGD> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/learning/nnet.rs:164:28 [INFO] [stderr] | [INFO] [stderr] 164 | pub fn get_net_weights(&self, idx: usize) -> MatrixSlice { [INFO] [stderr] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 164 | pub fn get_net_weights(&self, idx: usize) -> MatrixSlice<'_, f64> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/learning/nnet.rs:182:29 [INFO] [stderr] | [INFO] [stderr] 182 | fn default(layer_sizes: &[usize]) -> BaseNeuralNet { [INFO] [stderr] | ^^^^^^^^ --------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 182 | fn default(layer_sizes: &[usize]) -> BaseNeuralNet<'_, BCECriterion> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/learning/nnet.rs:190:25 [INFO] [stderr] | [INFO] [stderr] 190 | fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet { [INFO] [stderr] | ^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 190 | fn new(layer_sizes: &[usize], criterion: T) -> BaseNeuralNet<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/learning/nnet.rs:215:26 [INFO] [stderr] | [INFO] [stderr] 215 | fn get_layer_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice { [INFO] [stderr] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 215 | fn get_layer_weights(&self, weights: &[f64], idx: usize) -> MatrixSlice<'_, f64> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/learning/nnet.rs:243:24 [INFO] [stderr] | [INFO] [stderr] 243 | fn get_net_weights(&self, idx: usize) -> MatrixSlice { [INFO] [stderr] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 243 | fn get_net_weights(&self, idx: usize) -> MatrixSlice<'_, f64> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be 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 { [INFO] [stderr] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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: `rusty-machine` (lib) generated 38 warnings (run `cargo fix --lib -p rusty-machine` to apply 11 suggestions) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> tests/lib.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [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)]` 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] [stderr] | [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] [stderr] | [INFO] [stderr] 247 | let _ = (transformed[[1, 0]] - 3.0).abs() < 1e-10; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused comparison that must be used [INFO] [stderr] --> src/data/transforms/minmax.rs:248:9 [INFO] [stderr] | [INFO] [stderr] 248 | (transformed[[1, 1]] - 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] [stderr] | [INFO] [stderr] 248 | let _ = (transformed[[1, 1]] - 3.0).abs() < 1e-10; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `rusty-machine` (test "lib") generated 1 warning [INFO] [stderr] warning: `rusty-machine` (lib test) generated 45 warnings (37 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/rusty_machine-0023b89adc214fb3) [INFO] [stdout] [INFO] [stdout] running 65 tests [INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_accepts_labels_disjoint_from_predictions_and_targets ... ok [INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_accepts_labels_intersecting_predictions_and_disjoint_from_targets ... ok [INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_no_labels ... ok [INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_accepts_labels_intersecting_targets_and_disjoint_from_predictions ... ok [INFO] [stdout] test analysis::cross_validation::tests::test_folds_n4_k4 ... ok [INFO] [stdout] test analysis::confusion_matrix::tests::confusion_matrix_with_labels_a_permutation_of_classes ... ok [INFO] [stdout] test analysis::cross_validation::tests::test_folds_n6_k3 ... ok [INFO] [stdout] test analysis::cross_validation::tests::test_folds_n5_k2 ... ok [INFO] [stdout] test analysis::cross_validation::tests::test_folds_n6_k4 ... ok [INFO] [stdout] test analysis::cross_validation::tests::test_folds_unordered_indices ... ok [INFO] [stdout] test analysis::score::tests::test_accuracy ... ok [INFO] [stdout] test analysis::score::tests::test_f1 ... ok [INFO] [stdout] test analysis::score::tests::test_neg_mean_squared_error_1d ... ok [INFO] [stdout] test analysis::score::tests::test_neg_mean_squared_error_2d ... ok [INFO] [stdout] test analysis::score::tests::test_precision ... ok [INFO] [stdout] test analysis::score::tests::test_recall ... ok [INFO] [stdout] test data::transforms::minmax::tests::basic_scale_test ... ok [INFO] [stdout] test data::transforms::minmax::tests::custom_scale_test ... ok [INFO] [stdout] test data::transforms::minmax::tests::infinity_data_test ... ok [INFO] [stdout] test data::transforms::minmax::tests::nan_data_test ... ok [INFO] [stdout] test data::transforms::minmax::tests::constant_feature_test ... ok [INFO] [stdout] test data::transforms::minmax::tests::inv_transform_identity_test ... ok [INFO] [stdout] test data::transforms::shuffle::tests::seeded_shuffle ... ok [INFO] [stdout] test data::transforms::shuffle::tests::shuffle_fit ... ok [INFO] [stdout] test data::transforms::standardize::tests::nan_data_test ... ok [INFO] [stdout] test data::transforms::shuffle::tests::shuffle_single_row ... ok [INFO] [stdout] test learning::dbscan::tests::test_region_query ... ok [INFO] [stdout] test learning::dbscan::tests::test_region_query_small_eps ... ok [INFO] [stdout] test data::transforms::standardize::tests::single_row_test ... ok [INFO] [stdout] test data::transforms::standardize::tests::custom_standardize_test ... ok [INFO] [stdout] test learning::gmm::tests::test_covars_none ... 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::gmm::tests::test_wrong_length_mixtures ... ok [INFO] [stdout] test learning::naive_bayes::tests::test_gaussian ... ok [INFO] [stdout] test learning::naive_bayes::tests::test_multinomial ... ok [INFO] [stdout] test data::transforms::standardize::tests::basic_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 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 analysis::cross_validation::tests::test_folds_rejects_large_k - should panic ... 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 learning::toolkit::regularization::tests::test_elastic_net_reg ... ok [INFO] [stdout] test learning::toolkit::regularization::tests::test_l1_reg ... ok [INFO] [stdout] test analysis::score::tests::test_f1_outputs_not_2class - should panic ... ok [INFO] [stdout] test analysis::score::tests::test_f1_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_precision_targets_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_outputs_not_2class - should panic ... ok [INFO] [stdout] test learning::optim::grad_desc::tests::adagrad_neg_stepsize - should panic ... ok [INFO] [stdout] test analysis::score::tests::test_recall_targets_not_2class - should panic ... ok [INFO] [stdout] test learning::optim::grad_desc::tests::rmsprop_neg_decay_rate - should panic ... ok [INFO] [stdout] test learning::toolkit::regularization::tests::test_l2_reg ... ok [INFO] [stdout] test learning::optim::grad_desc::tests::gd_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::rmsprop_neg_epsilon - should panic ... ok [INFO] [stdout] test learning::optim::grad_desc::tests::stochastic_gd_neg_momentum - 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] [INFO] [stdout] test result: ok. 65 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/datasets.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/datasets-52fbc321d6c6b26c) [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/x86_64-unknown-linux-musl/debug/deps/lib-cbc8d1ca5cbdbc70) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test learning::dbscan::test_basic_clusters ... ok [INFO] [stdout] test learning::k_means::test_model_iter ... ok [INFO] [stdout] test learning::k_means::test_model_ran_partition ... ok [INFO] [stdout] test learning::lin_reg::test_regression ... ok [INFO] [stdout] test learning::k_means::test_model_kplusplus ... ok [INFO] [stdout] test learning::dbscan::test_basic_prediction ... ok [INFO] [stdout] test learning::k_means::test_model_default ... ok [INFO] [stdout] test learning::k_means::test_model_forgy ... 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::gp::test_default_gp ... ok [INFO] [stdout] test learning::lin_reg::test_optimized_regression ... ok [INFO] [stdout] test learning::k_means::test_two_centroids ... 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_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.08s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7494eca62756962734783b6461d69127a454865b41855e0d119ea86571977290", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7494eca62756962734783b6461d69127a454865b41855e0d119ea86571977290", kill_on_drop: false }` [INFO] [stdout] 7494eca62756962734783b6461d69127a454865b41855e0d119ea86571977290