[INFO] fetching crate sklears-discriminant-analysis 0.1.0-alpha.1...
[INFO] checking sklears-discriminant-analysis-0.1.0-alpha.1 against master#e22dab387f6b4f6a87dfc54ac2f6013dddb41e68 for pr-149195
[INFO] extracting crate sklears-discriminant-analysis 0.1.0-alpha.1 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate sklears-discriminant-analysis 0.1.0-alpha.1
[INFO] finished tweaking crates.io crate sklears-discriminant-analysis 0.1.0-alpha.1
[INFO] tweaked toml for crates.io crate sklears-discriminant-analysis 0.1.0-alpha.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate sklears-discriminant-analysis 0.1.0-alpha.1 on toolchain e22dab387f6b4f6a87dfc54ac2f6013dddb41e68
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate sklears-discriminant-analysis 0.1.0-alpha.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded deflate64 v0.1.9
[INFO] [stderr]   Downloaded friedrich v0.5.0
[INFO] [stderr]   Downloaded zip v5.1.1
[INFO] [stderr]   Downloaded proptest v1.8.0
[INFO] [stderr]   Downloaded sklears-utils v0.1.0-alpha.1
[INFO] [stderr]   Downloaded serde-pickle v1.2.0
[INFO] [stderr]   Downloaded scirs2-sparse v0.1.0-rc.1
[INFO] [stderr]   Downloaded scirs2-optimize v0.1.0-rc.1
[INFO] [stderr]   Downloaded sklears-core v0.1.0-alpha.1
[INFO] [stderr]   Downloaded scirs2-linalg v0.1.0-rc.1
[INFO] [stderr]   Downloaded numrs2 v0.1.0-beta.3
[INFO] [stderr]   Downloaded scirs2-core v0.1.0-rc.1
[INFO] [stderr]   Downloaded scirs2-stats v0.1.0-rc.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f03bd565f90e8be8ace77bf74bfc224f87dcee8c7a6b733593ac0e43dc4cccea
[INFO] running `Command { std: "docker" "start" "-a" "f03bd565f90e8be8ace77bf74bfc224f87dcee8c7a6b733593ac0e43dc4cccea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f03bd565f90e8be8ace77bf74bfc224f87dcee8c7a6b733593ac0e43dc4cccea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f03bd565f90e8be8ace77bf74bfc224f87dcee8c7a6b733593ac0e43dc4cccea", kill_on_drop: false }`
[INFO] [stdout] f03bd565f90e8be8ace77bf74bfc224f87dcee8c7a6b733593ac0e43dc4cccea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cd66fc18701ab55f177c5cf7f7ffe58107d585c6914dc9aefd5650bc59139941
[INFO] running `Command { std: "docker" "start" "-a" "cd66fc18701ab55f177c5cf7f7ffe58107d585c6914dc9aefd5650bc59139941", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking bytemuck v1.23.2
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking regex-automata v0.4.11
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.2
[INFO] [stderr]     Checking wide v0.7.33
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking lapack-sys v0.14.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]    Compiling scirs2-core v0.1.0-rc.1
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling lambert_w v1.2.28
[INFO] [stderr]     Checking rand_distr v0.5.1
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling cc v1.2.39
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking zlib-rs v0.5.2
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking bumpalo v3.19.0
[INFO] [stderr]     Checking libbz2-rs-sys v0.2.2
[INFO] [stderr]     Checking regex v1.11.3
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking zopfli v0.8.2
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]     Checking bzip2 v0.6.0
[INFO] [stderr]     Checking lzma-rust2 v0.13.0
[INFO] [stderr]     Checking quickcheck v1.0.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking csv-core v0.1.12
[INFO] [stderr]     Checking libz-rs-sys v0.5.2
[INFO] [stderr]     Checking ppmd-rust v1.2.1
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]     Checking iter-read v1.1.0
[INFO] [stderr]     Checking deflate64 v0.1.9
[INFO] [stderr]    Compiling rustc_version_runtime v0.3.0
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]     Checking rustc_version v0.4.1
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking rand_xoshiro v0.7.0
[INFO] [stderr]     Checking clap_builder v4.5.48
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking proptest v1.8.0
[INFO] [stderr]     Checking clap v4.5.48
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling katexit v0.1.5
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking zip v5.1.1
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking bincode v2.0.1
[INFO] [stderr]     Checking serde-pickle v1.2.0
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking cauchy v0.4.0
[INFO] [stderr]     Checking simba v0.9.1
[INFO] [stderr]     Checking lax v0.17.0
[INFO] [stderr]     Checking special v0.11.4
[INFO] [stderr]     Checking simba v0.7.3
[INFO] [stderr]     Checking argmin-math v0.5.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking argmin v0.11.0
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking ndarray-linalg v0.17.0
[INFO] [stderr]     Checking ndarray-rand v0.15.0
[INFO] [stderr]     Checking sprs v0.11.3
[INFO] [stderr]     Checking nalgebra v0.33.2
[INFO] [stderr]     Checking nalgebra v0.30.1
[INFO] [stderr]     Checking statrs v0.18.0
[INFO] [stderr]     Checking friedrich v0.5.0
[INFO] [stderr]     Checking scirs2-linalg v0.1.0-rc.1
[INFO] [stderr]     Checking scirs2-sparse v0.1.0-rc.1
[INFO] [stderr]     Checking scirs2-stats v0.1.0-rc.1
[INFO] [stderr]     Checking scirs2-optimize v0.1.0-rc.1
[INFO] [stderr]     Checking numrs2 v0.1.0-beta.3
[INFO] [stderr]     Checking sklears-core v0.1.0-alpha.1
[INFO] [stderr]     Checking sklears-utils v0.1.0-alpha.1
[INFO] [stderr]     Checking sklears-discriminant-analysis v0.1.0-alpha.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/one_vs_rest.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         /// BinaryClassifier
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 68 |         BinaryClassifier::LDA(LinearDiscriminantAnalysis::new())
[INFO] [stdout]    |         -------------------------------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `avx512`
[INFO] [stdout]   --> src/simd_optimizations.rs:38:25
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 && cfg!(feature = "avx512"),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `serde`
[INFO] [stdout]    = help: consider adding `avx512` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `avx2`
[INFO] [stdout]   --> src/simd_optimizations.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 && cfg!(feature = "avx2"),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `serde`
[INFO] [stdout]    = help: consider adding `avx2` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sse`
[INFO] [stdout]   --> src/simd_optimizations.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 && cfg!(feature = "sse"),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `serde`
[INFO] [stdout]    = help: consider adding `sse` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/one_vs_rest.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         /// BinaryClassifier
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 68 |         BinaryClassifier::LDA(LinearDiscriminantAnalysis::new())
[INFO] [stdout]    |         -------------------------------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `avx512`
[INFO] [stdout]   --> src/simd_optimizations.rs:38:25
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 && cfg!(feature = "avx512"),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `serde`
[INFO] [stdout]    = help: consider adding `avx512` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `avx2`
[INFO] [stdout]   --> src/simd_optimizations.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 && cfg!(feature = "avx2"),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `serde`
[INFO] [stdout]    = help: consider adding `avx2` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sse`
[INFO] [stdout]   --> src/simd_optimizations.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 && cfg!(feature = "sse"),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `serde`
[INFO] [stdout]    = help: consider adding `sse` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Estimator`
[INFO] [stdout]   --> src/out_of_core.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     traits::{Estimator, Fit, Predict, PredictProba, Trained},
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/adaptive_discriminant.rs:252:14
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let (n_samples, n_features) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_label`
[INFO] [stdout]    --> src/adaptive_discriminant.rs:630:26
[INFO] [stdout]     |
[INFO] [stdout] 630 |         for (class_idx, &class_label) in data.classes.iter().enumerate() {
[INFO] [stdout]     |                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_label`
[INFO] [stdout]    --> src/adaptive_discriminant.rs:680:26
[INFO] [stdout]     |
[INFO] [stdout] 680 |         for (class_idx, &class_label) in classes.iter().enumerate() {
[INFO] [stdout]     |                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bayesian_discriminant/core.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn fit(self, x: &ArrayBase<D, Ix2>, y: &Array1<i32>) -> Result<Self::Fitted> {
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/bayesian_discriminant/core.rs:85:41
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn fit(self, x: &ArrayBase<D, Ix2>, y: &Array1<i32>) -> Result<Self::Fitted> {
[INFO] [stdout]    |                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bayesian_discriminant/trained.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         x: &ArrayBase<D, Ix2>,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bayesian_discriminant/trained.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn predict(&self, x: &ArrayBase<D, Ix2>) -> Result<Array1<i32>> {
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bayesian_discriminant/trained.rs:93:29
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn predict_proba(&self, x: &ArrayBase<D, Ix2>) -> Result<Array2<Float>> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/bayesian_discriminant/trained.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn transform(&self, x: &ArrayBase<D, Ix2>) -> Result<Array2<Float>> {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `densities`
[INFO] [stdout]    --> src/boundary_adjustment.rs:498:21
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 let densities =
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_densities`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cost_matrix`
[INFO] [stdout]    --> src/boundary_adjustment.rs:510:17
[INFO] [stdout]     |
[INFO] [stdout] 510 |                 cost_matrix,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `cost_matrix: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/canonical_discriminant.rs:196:18
[INFO] [stdout]     |
[INFO] [stdout] 196 |         for (i, &class) in self.classes.iter().enumerate() {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_idx`
[INFO] [stdout]    --> src/cost_sensitive_discriminant_analysis.rs:378:14
[INFO] [stdout]     |
[INFO] [stdout] 378 |         for (class_idx, &class_label) in classes.iter().enumerate() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_idx`
[INFO] [stdout]    --> src/cost_sensitive_discriminant_analysis.rs:432:14
[INFO] [stdout]     |
[INFO] [stdout] 432 |         for (class_idx, &class_label) in classes.iter().enumerate() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/cost_sensitive_discriminant_analysis.rs:733:14
[INFO] [stdout]     |
[INFO] [stdout] 733 |         for (i, (&true_label, &pred_label)) in y_true.iter().zip(y_pred.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prob`
[INFO] [stdout]    --> src/cost_sensitive_discriminant_analysis.rs:866:30
[INFO] [stdout]     |
[INFO] [stdout] 866 |                     for (j, &prob) in proba_row.iter().enumerate() {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_prob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alpha`
[INFO] [stdout]     --> src/deep_discriminant.rs:1014:21
[INFO] [stdout]      |
[INFO] [stdout] 1014 |         if let Some(alpha) = self.config.mixup_alpha {
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_alpha`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_batch`
[INFO] [stdout]     --> src/deep_discriminant.rs:1221:9
[INFO] [stdout]      |
[INFO] [stdout] 1221 |         x_batch: &Array2<Float>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_batch`
[INFO] [stdout]     --> src/deep_discriminant.rs:1222:9
[INFO] [stdout]      |
[INFO] [stdout] 1222 |         y_batch: &Array1<i32>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outputs`
[INFO] [stdout]     --> src/deep_discriminant.rs:1223:9
[INFO] [stdout]      |
[INFO] [stdout] 1223 |         outputs: &Array2<Float>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `momentum`
[INFO] [stdout]     --> src/deep_discriminant.rs:1228:13
[INFO] [stdout]      |
[INFO] [stdout] 1228 |         let momentum = self.config.training.momentum;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_momentum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `feature_score` is never read
[INFO] [stdout]    --> src/diagonal_lda.rs:219:37
[INFO] [stdout]     |
[INFO] [stdout] 219 |             let mut feature_score = 0.0;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/diagonal_lda.rs:286:18
[INFO] [stdout]     |
[INFO] [stdout] 286 |             for (i, mut sample) in x_processed.axis_iter_mut(Axis(0)).enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/diagonal_lda.rs:408:18
[INFO] [stdout]     |
[INFO] [stdout] 408 |             for (i, mut sample) in x_processed.axis_iter_mut(Axis(0)).enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/discriminant_locality_alignment.rs:394:22
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 for (idx, &j) in neighbors.iter().enumerate() {
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_sizes`
[INFO] [stdout]    --> src/distributed_discriminant.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let chunk_sizes: Vec<usize> = chunks.iter().map(|(_, y)| y.len()).collect();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_sizes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_sizes`
[INFO] [stdout]    --> src/distributed_discriminant.rs:250:13
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let chunk_sizes: Vec<usize> = chunks.iter().map(|(_, y)| y.len()).collect();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_sizes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_neighbors`
[INFO] [stdout]    --> src/ensemble_imbalanced.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |         k_neighbors: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_neighbors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/ensemble_imbalanced.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         x: &Array2<Float>,
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_weights`
[INFO] [stdout]    --> src/ensemble_imbalanced.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |         sample_weights: Option<&Array1<Float>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_weights`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iteration`
[INFO] [stdout]    --> src/ensemble_imbalanced.rs:416:21
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 for iteration in 0..*n_estimators {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iteration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classes`
[INFO] [stdout]    --> src/feature_ranking.rs:368:13
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let classes = self.unique_classes(y)?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/heteroscedastic.rs:277:14
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let (n_samples, n_features) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mu`
[INFO] [stdout]    --> src/heteroscedastic.rs:365:13
[INFO] [stdout]     |
[INFO] [stdout] 365 |         let mu = trace / n_features as Float;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_mu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_cov`
[INFO] [stdout]    --> src/heteroscedastic.rs:376:51
[INFO] [stdout]     |
[INFO] [stdout] 376 |     fn oas_shrinkage(&self, data: &Array2<Float>, sample_cov: &Array2<Float>) -> Result<Float> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_cov`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/information_theoretic.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/information_theoretic.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 309 |             DiscretizationMethod::EqualWidth => {
[INFO] [stdout]     |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 320 |             DiscretizationMethod::EqualFrequency => {
[INFO] [stdout]     |             ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 332 |             DiscretizationMethod::KMeans => self.kmeans_discretization(&feature_values, n_bins)?,
[INFO] [stdout]     |             ---------------------------- matches some of the same values
[INFO] [stdout] 333 |             DiscretizationMethod::EntropyBased => {
[INFO] [stdout]     |             ---------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 341 |             _ => {
[INFO] [stdout]     |             ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classes`
[INFO] [stdout]    --> src/information_theoretic.rs:376:9
[INFO] [stdout]     |
[INFO] [stdout] 376 |         classes: &Array1<i32>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/information_theoretic.rs:456:17
[INFO] [stdout]     |
[INFO] [stdout] 456 |                 _ => {
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/information_theoretic.rs:456:17
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 InformationCriterion::MutualInformation => {
[INFO] [stdout]     |                 --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 420 |                 InformationCriterion::InformationGain => {
[INFO] [stdout]     |                 ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 423 |                 InformationCriterion::NormalizedMutualInformation => self
[INFO] [stdout]     |                 ------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 430 |                 InformationCriterion::ConditionalMutualInformation => self
[INFO] [stdout]     |                 -------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 456 |                 _ => {
[INFO] [stdout]     |                 ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iteration`
[INFO] [stdout]     --> src/information_theoretic.rs:1031:13
[INFO] [stdout]      |
[INFO] [stdout] 1031 |         for iteration in 0..10 {
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iteration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_features`
[INFO] [stdout]    --> src/kernel_discriminant.rs:829:13
[INFO] [stdout]     |
[INFO] [stdout] 829 |         let n_features = x.ncols();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_features`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/lda.rs:223:14
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let (n_samples, n_features) = data.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/lda.rs:339:14
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let (n_samples, _) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overall_mean`
[INFO] [stdout]    --> src/lda.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let overall_mean = x.mean_axis(Axis(0)).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overall_mean`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/lda.rs:416:14
[INFO] [stdout]     |
[INFO] [stdout] 416 |         let (n_samples, _) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `alpha` is assigned to, but never used
[INFO] [stdout]    --> src/lda.rs:809:13
[INFO] [stdout]     |
[INFO] [stdout] 809 |         let mut alpha = 0.0;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_alpha` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `alpha` is never read
[INFO] [stdout]    --> src/lda.rs:817:17
[INFO] [stdout]     |
[INFO] [stdout] 817 |                 alpha += val * val;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/lda.rs:832:14
[INFO] [stdout]     |
[INFO] [stdout] 832 |         let (n_samples, n_features) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_idx`
[INFO] [stdout]    --> src/lda.rs:882:21
[INFO] [stdout]     |
[INFO] [stdout] 882 |                 let start_idx = fold * fold_size;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_idx`
[INFO] [stdout]    --> src/lda.rs:883:21
[INFO] [stdout]     |
[INFO] [stdout] 883 |                 let end_idx = if fold == k_folds - 1 {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classes`
[INFO] [stdout]    --> src/locally_linear_discriminant.rs:399:17
[INFO] [stdout]     |
[INFO] [stdout] 399 |             let classes: Vec<i32> = {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xi`
[INFO] [stdout]    --> src/manifold_discriminant.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |             let xi = x.row(i);
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_xi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `covariances`
[INFO] [stdout]    --> src/manifold_discriminant.rs:676:17
[INFO] [stdout]     |
[INFO] [stdout] 676 |                 covariances,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `covariances: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `covariances`
[INFO] [stdout]    --> src/manifold_discriminant.rs:757:17
[INFO] [stdout]     |
[INFO] [stdout] 757 |                 covariances,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `covariances: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `precision`
[INFO] [stdout]    --> src/minimum_volume_ellipsoid.rs:342:27
[INFO] [stdout]     |
[INFO] [stdout] 342 |                 if let Ok(precision) = self.invert_matrix(&covariance) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_precision`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/mixture.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         for k in 0..n_components {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_classes`
[INFO] [stdout]    --> src/mixture_experts.rs:543:13
[INFO] [stdout]     |
[INFO] [stdout] 543 |         let n_classes = classes.len();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_experts`
[INFO] [stdout]    --> src/mixture_experts.rs:645:13
[INFO] [stdout]     |
[INFO] [stdout] 645 |         let n_experts = self.experts().len();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_experts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/multi_view_discriminant/trained.rs:69:23
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn predict(&self, x: &Vec<Array2<Float>>) -> Result<Array1<i32>> {
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/multi_view_discriminant/trained.rs:76:29
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn predict_proba(&self, x: &Vec<Array2<Float>>) -> Result<Array2<Float>> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/multi_view_discriminant/trained.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn transform(&self, x: &Vec<Array2<Float>>) -> Result<Array2<Float>> {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/multi_view_discriminant/untrained.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn fit(self, x: &Vec<Array2<Float>>, y: &Array1<i32>) -> Result<Self::Fitted> {
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/multi_view_discriminant/untrained.rs:46:42
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn fit(self, x: &Vec<Array2<Float>>, y: &Array1<i32>) -> Result<Self::Fitted> {
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/nearest_shrunken_centroids.rs:375:14
[INFO] [stdout]     |
[INFO] [stdout] 375 |         for (i, mut row) in x_standardized.axis_iter_mut(Axis(0)).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_classes`
[INFO] [stdout]    --> src/nearest_shrunken_centroids.rs:667:13
[INFO] [stdout]     |
[INFO] [stdout] 667 |         let n_classes = classes.len();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_classes`
[INFO] [stdout]    --> src/nearest_shrunken_centroids.rs:700:13
[INFO] [stdout]     |
[INFO] [stdout] 700 |         let n_classes = classes.len();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/nearest_shrunken_centroids.rs:737:14
[INFO] [stdout]     |
[INFO] [stdout] 737 |         for (i, mut row) in x_standardized.axis_iter_mut(Axis(0)).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/nearest_shrunken_centroids.rs:831:14
[INFO] [stdout]     |
[INFO] [stdout] 831 |         let (n_samples, n_features) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epoch`
[INFO] [stdout]    --> src/neural_discriminant.rs:603:13
[INFO] [stdout]     |
[INFO] [stdout] 603 |         for epoch in 0..self.config.training.max_epochs {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/neural_discriminant.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |         let n_samples = outputs.nrows();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_batch`
[INFO] [stdout]    --> src/neural_discriminant.rs:734:9
[INFO] [stdout]     |
[INFO] [stdout] 734 |         x_batch: &Array2<Float>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_batch`
[INFO] [stdout]    --> src/neural_discriminant.rs:735:9
[INFO] [stdout]     |
[INFO] [stdout] 735 |         y_batch: &Array1<i32>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outputs`
[INFO] [stdout]    --> src/neural_discriminant.rs:736:9
[INFO] [stdout]     |
[INFO] [stdout] 736 |         outputs: &Array2<Float>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/one_vs_one.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let n_samples = x.nrows();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/one_vs_rest.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |         let n_samples = x.nrows();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_new_samples`
[INFO] [stdout]    --> src/online_discriminant.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let n_new_samples = x.nrows();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_new_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_labels`
[INFO] [stdout]    --> src/online_discriminant.rs:371:17
[INFO] [stdout]     |
[INFO] [stdout] 371 |             let new_labels = label_buffer.clone();
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_labels`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_new_samples`
[INFO] [stdout]    --> src/online_discriminant.rs:424:13
[INFO] [stdout]     |
[INFO] [stdout] 424 |         let n_new_samples = x.nrows();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_new_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `drift_score` is never read
[INFO] [stdout]    --> src/online_discriminant.rs:509:31
[INFO] [stdout]     |
[INFO] [stdout] 509 |         let mut drift_score = 0.0;
[INFO] [stdout]     |                               ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/online_discriminant.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |         let n_samples = x.nrows();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/out_of_core.rs:186:36
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn calculate_chunk_size(&self, n_samples: usize, n_features: usize) -> Result<usize> {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mean`
[INFO] [stdout]    --> src/out_of_core.rs:453:14
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let (mean, covariance) = self.compute_incremental_statistics(&data_manager)?;
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_mean`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `covariance`
[INFO] [stdout]    --> src/out_of_core.rs:453:20
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let (mean, covariance) = self.compute_incremental_statistics(&data_manager)?;
[INFO] [stdout]     |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_covariance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/parallel_eigen.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let n = matrix.nrows();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/parallel_eigen.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let n = matrix.nrows();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_loss`
[INFO] [stdout]    --> src/penalized_discriminant_analysis.rs:442:17
[INFO] [stdout]     |
[INFO] [stdout] 442 |             let total_loss = loss + penalty;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_loss`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_features`
[INFO] [stdout]    --> src/penalized_discriminant_analysis.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 653 |         let n_features = x.ncols();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_features`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/qda.rs:130:14
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let (n_samples, n_features) = data.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/random_projection_discriminant_analysis.rs:626:27
[INFO] [stdout]     |
[INFO] [stdout] 626 |     pub fn fit(&mut self, x: &Array2<Float>, y: &Array1<i32>) -> Result<()> {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/random_projection_discriminant_analysis.rs:675:27
[INFO] [stdout]     |
[INFO] [stdout] 675 |     pub fn fit(&mut self, x: &Array2<Float>, y: &Array1<i32>) -> Result<()> {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_features`
[INFO] [stdout]    --> src/robust_adaptive.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |         let n_features = trained.pooled_covariance.nrows();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_features`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_features`
[INFO] [stdout]    --> src/simd_optimizations.rs:476:13
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let n_features = data.ncols();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_features`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_vec`
[INFO] [stdout]    --> src/simd_optimizations.rs:802:17
[INFO] [stdout]     |
[INFO] [stdout] 802 |             let x_vec = _mm256_loadu_pd(x.as_ptr().add(i));
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_x_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classes`
[INFO] [stdout]    --> src/sure_independence_screening.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let classes: Vec<i32> = {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/sure_independence_screening.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let n = x_ranks.len() as Float;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/temporal_discriminant.rs:424:14
[INFO] [stdout]     |
[INFO] [stdout] 424 |         let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_features`
[INFO] [stdout]    --> src/temporal_discriminant.rs:424:25
[INFO] [stdout]     |
[INFO] [stdout] 424 |         let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_features`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_time_steps`
[INFO] [stdout]    --> src/temporal_discriminant.rs:424:37
[INFO] [stdout]     |
[INFO] [stdout] 424 |         let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_time_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_time_steps`
[INFO] [stdout]    --> src/temporal_discriminant.rs:795:37
[INFO] [stdout]     |
[INFO] [stdout] 795 |         let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_time_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `degree`
[INFO] [stdout]    --> src/temporal_discriminant.rs:831:39
[INFO] [stdout]     |
[INFO] [stdout] 831 |             TrendMethod::Polynomial { degree } => {
[INFO] [stdout]     |                                       ^^^^^^ help: try ignoring the field: `degree: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1009:14
[INFO] [stdout]      |
[INFO] [stdout] 1009 |         let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1124:9
[INFO] [stdout]      |
[INFO] [stdout] 1124 |         y: &Array1<i32>,
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classes`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1125:9
[INFO] [stdout]      |
[INFO] [stdout] 1125 |         classes: &Array1<i32>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1129:22
[INFO] [stdout]      |
[INFO] [stdout] 1129 |                 let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]      |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_time_steps`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1129:45
[INFO] [stdout]      |
[INFO] [stdout] 1129 |                 let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]      |                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_time_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1144:9
[INFO] [stdout]      |
[INFO] [stdout] 1144 |         y: &Array1<i32>,
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temporal_means`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1146:9
[INFO] [stdout]      |
[INFO] [stdout] 1146 |         temporal_means: &Array2<Float>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temporal_means`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temporal_covariances`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1147:9
[INFO] [stdout]      |
[INFO] [stdout] 1147 |         temporal_covariances: &[Array2<Float>],
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temporal_covariances`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1235:29
[INFO] [stdout]      |
[INFO] [stdout] 1235 |             for (class_idx, pattern) in temporal_patterns.iter().enumerate() {
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ExpertModel` is more private than the item `MixtureOfExpertsDiscriminantAnalysis::<Trained>::experts`
[INFO] [stdout]    --> src/mixture_experts.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn experts(&self) -> &Vec<ExpertModel> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `MixtureOfExpertsDiscriminantAnalysis::<Trained>::experts` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ExpertModel` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/mixture_experts.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct ExpertModel {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `GatingNetwork` is more private than the item `MixtureOfExpertsDiscriminantAnalysis::<Trained>::gating_network`
[INFO] [stdout]    --> src/mixture_experts.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn gating_network(&self) -> &GatingNetwork {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `MixtureOfExpertsDiscriminantAnalysis::<Trained>::gating_network` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `GatingNetwork` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/mixture_experts.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | struct GatingNetwork {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Estimator`
[INFO] [stdout]   --> src/out_of_core.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     traits::{Estimator, Fit, Predict, PredictProba, Trained},
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/adaptive_discriminant.rs:252:14
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let (n_samples, n_features) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_label`
[INFO] [stdout]    --> src/adaptive_discriminant.rs:630:26
[INFO] [stdout]     |
[INFO] [stdout] 630 |         for (class_idx, &class_label) in data.classes.iter().enumerate() {
[INFO] [stdout]     |                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_label`
[INFO] [stdout]    --> src/adaptive_discriminant.rs:680:26
[INFO] [stdout]     |
[INFO] [stdout] 680 |         for (class_idx, &class_label) in classes.iter().enumerate() {
[INFO] [stdout]     |                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bayesian_discriminant/core.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn fit(self, x: &ArrayBase<D, Ix2>, y: &Array1<i32>) -> Result<Self::Fitted> {
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/bayesian_discriminant/core.rs:85:41
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn fit(self, x: &ArrayBase<D, Ix2>, y: &Array1<i32>) -> Result<Self::Fitted> {
[INFO] [stdout]    |                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bayesian_discriminant/trained.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         x: &ArrayBase<D, Ix2>,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bayesian_discriminant/trained.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn predict(&self, x: &ArrayBase<D, Ix2>) -> Result<Array1<i32>> {
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bayesian_discriminant/trained.rs:93:29
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn predict_proba(&self, x: &ArrayBase<D, Ix2>) -> Result<Array2<Float>> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/bayesian_discriminant/trained.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn transform(&self, x: &ArrayBase<D, Ix2>) -> Result<Array2<Float>> {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `densities`
[INFO] [stdout]    --> src/boundary_adjustment.rs:498:21
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 let densities =
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_densities`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cost_matrix`
[INFO] [stdout]    --> src/boundary_adjustment.rs:510:17
[INFO] [stdout]     |
[INFO] [stdout] 510 |                 cost_matrix,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `cost_matrix: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/canonical_discriminant.rs:196:18
[INFO] [stdout]     |
[INFO] [stdout] 196 |         for (i, &class) in self.classes.iter().enumerate() {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_idx`
[INFO] [stdout]    --> src/cost_sensitive_discriminant_analysis.rs:378:14
[INFO] [stdout]     |
[INFO] [stdout] 378 |         for (class_idx, &class_label) in classes.iter().enumerate() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_idx`
[INFO] [stdout]    --> src/cost_sensitive_discriminant_analysis.rs:432:14
[INFO] [stdout]     |
[INFO] [stdout] 432 |         for (class_idx, &class_label) in classes.iter().enumerate() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/cost_sensitive_discriminant_analysis.rs:733:14
[INFO] [stdout]     |
[INFO] [stdout] 733 |         for (i, (&true_label, &pred_label)) in y_true.iter().zip(y_pred.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prob`
[INFO] [stdout]    --> src/cost_sensitive_discriminant_analysis.rs:866:30
[INFO] [stdout]     |
[INFO] [stdout] 866 |                     for (j, &prob) in proba_row.iter().enumerate() {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_prob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alpha`
[INFO] [stdout]     --> src/deep_discriminant.rs:1014:21
[INFO] [stdout]      |
[INFO] [stdout] 1014 |         if let Some(alpha) = self.config.mixup_alpha {
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_alpha`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_batch`
[INFO] [stdout]     --> src/deep_discriminant.rs:1221:9
[INFO] [stdout]      |
[INFO] [stdout] 1221 |         x_batch: &Array2<Float>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_batch`
[INFO] [stdout]     --> src/deep_discriminant.rs:1222:9
[INFO] [stdout]      |
[INFO] [stdout] 1222 |         y_batch: &Array1<i32>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outputs`
[INFO] [stdout]     --> src/deep_discriminant.rs:1223:9
[INFO] [stdout]      |
[INFO] [stdout] 1223 |         outputs: &Array2<Float>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `momentum`
[INFO] [stdout]     --> src/deep_discriminant.rs:1228:13
[INFO] [stdout]      |
[INFO] [stdout] 1228 |         let momentum = self.config.training.momentum;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_momentum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `feature_score` is never read
[INFO] [stdout]    --> src/diagonal_lda.rs:219:37
[INFO] [stdout]     |
[INFO] [stdout] 219 |             let mut feature_score = 0.0;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/diagonal_lda.rs:286:18
[INFO] [stdout]     |
[INFO] [stdout] 286 |             for (i, mut sample) in x_processed.axis_iter_mut(Axis(0)).enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/diagonal_lda.rs:408:18
[INFO] [stdout]     |
[INFO] [stdout] 408 |             for (i, mut sample) in x_processed.axis_iter_mut(Axis(0)).enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/discriminant_locality_alignment.rs:394:22
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 for (idx, &j) in neighbors.iter().enumerate() {
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_sizes`
[INFO] [stdout]    --> src/distributed_discriminant.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let chunk_sizes: Vec<usize> = chunks.iter().map(|(_, y)| y.len()).collect();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_sizes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_sizes`
[INFO] [stdout]    --> src/distributed_discriminant.rs:250:13
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let chunk_sizes: Vec<usize> = chunks.iter().map(|(_, y)| y.len()).collect();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_sizes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_neighbors`
[INFO] [stdout]    --> src/ensemble_imbalanced.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |         k_neighbors: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_neighbors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/ensemble_imbalanced.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         x: &Array2<Float>,
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_weights`
[INFO] [stdout]    --> src/ensemble_imbalanced.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |         sample_weights: Option<&Array1<Float>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_weights`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iteration`
[INFO] [stdout]    --> src/ensemble_imbalanced.rs:416:21
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 for iteration in 0..*n_estimators {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iteration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/ensemble_imbalanced.rs:621:13
[INFO] [stdout]     |
[INFO] [stdout] 621 |         let x = array![[1.0, 2.0], [2.0, 3.0], [3.0, 4.0], [4.0, 5.0]];
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classes`
[INFO] [stdout]    --> src/feature_ranking.rs:368:13
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let classes = self.unique_classes(y)?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/heteroscedastic.rs:277:14
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let (n_samples, n_features) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mu`
[INFO] [stdout]    --> src/heteroscedastic.rs:365:13
[INFO] [stdout]     |
[INFO] [stdout] 365 |         let mu = trace / n_features as Float;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_mu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_cov`
[INFO] [stdout]    --> src/heteroscedastic.rs:376:51
[INFO] [stdout]     |
[INFO] [stdout] 376 |     fn oas_shrinkage(&self, data: &Array2<Float>, sample_cov: &Array2<Float>) -> Result<Float> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_cov`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/information_theoretic.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/information_theoretic.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 309 |             DiscretizationMethod::EqualWidth => {
[INFO] [stdout]     |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 320 |             DiscretizationMethod::EqualFrequency => {
[INFO] [stdout]     |             ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 332 |             DiscretizationMethod::KMeans => self.kmeans_discretization(&feature_values, n_bins)?,
[INFO] [stdout]     |             ---------------------------- matches some of the same values
[INFO] [stdout] 333 |             DiscretizationMethod::EntropyBased => {
[INFO] [stdout]     |             ---------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 341 |             _ => {
[INFO] [stdout]     |             ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classes`
[INFO] [stdout]    --> src/information_theoretic.rs:376:9
[INFO] [stdout]     |
[INFO] [stdout] 376 |         classes: &Array1<i32>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/information_theoretic.rs:456:17
[INFO] [stdout]     |
[INFO] [stdout] 456 |                 _ => {
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/information_theoretic.rs:456:17
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 InformationCriterion::MutualInformation => {
[INFO] [stdout]     |                 --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 420 |                 InformationCriterion::InformationGain => {
[INFO] [stdout]     |                 ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 423 |                 InformationCriterion::NormalizedMutualInformation => self
[INFO] [stdout]     |                 ------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 430 |                 InformationCriterion::ConditionalMutualInformation => self
[INFO] [stdout]     |                 -------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 456 |                 _ => {
[INFO] [stdout]     |                 ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iteration`
[INFO] [stdout]     --> src/information_theoretic.rs:1031:13
[INFO] [stdout]      |
[INFO] [stdout] 1031 |         for iteration in 0..10 {
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iteration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_features`
[INFO] [stdout]    --> src/kernel_discriminant.rs:829:13
[INFO] [stdout]     |
[INFO] [stdout] 829 |         let n_features = x.ncols();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_features`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/lda.rs:223:14
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let (n_samples, n_features) = data.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/lda.rs:339:14
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let (n_samples, _) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overall_mean`
[INFO] [stdout]    --> src/lda.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let overall_mean = x.mean_axis(Axis(0)).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overall_mean`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/lda.rs:416:14
[INFO] [stdout]     |
[INFO] [stdout] 416 |         let (n_samples, _) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `alpha` is assigned to, but never used
[INFO] [stdout]    --> src/lda.rs:809:13
[INFO] [stdout]     |
[INFO] [stdout] 809 |         let mut alpha = 0.0;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_alpha` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `alpha` is never read
[INFO] [stdout]    --> src/lda.rs:817:17
[INFO] [stdout]     |
[INFO] [stdout] 817 |                 alpha += val * val;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/lda.rs:832:14
[INFO] [stdout]     |
[INFO] [stdout] 832 |         let (n_samples, n_features) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_idx`
[INFO] [stdout]    --> src/lda.rs:882:21
[INFO] [stdout]     |
[INFO] [stdout] 882 |                 let start_idx = fold * fold_size;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_idx`
[INFO] [stdout]    --> src/lda.rs:883:21
[INFO] [stdout]     |
[INFO] [stdout] 883 |                 let end_idx = if fold == k_folds - 1 {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classes`
[INFO] [stdout]    --> src/locally_linear_discriminant.rs:399:17
[INFO] [stdout]     |
[INFO] [stdout] 399 |             let classes: Vec<i32> = {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xi`
[INFO] [stdout]    --> src/manifold_discriminant.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |             let xi = x.row(i);
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_xi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `covariances`
[INFO] [stdout]    --> src/manifold_discriminant.rs:676:17
[INFO] [stdout]     |
[INFO] [stdout] 676 |                 covariances,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `covariances: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `covariances`
[INFO] [stdout]    --> src/manifold_discriminant.rs:757:17
[INFO] [stdout]     |
[INFO] [stdout] 757 |                 covariances,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `covariances: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `precision`
[INFO] [stdout]    --> src/minimum_volume_ellipsoid.rs:342:27
[INFO] [stdout]     |
[INFO] [stdout] 342 |                 if let Ok(precision) = self.invert_matrix(&covariance) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_precision`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/mixture.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         for k in 0..n_components {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_classes`
[INFO] [stdout]    --> src/mixture_experts.rs:543:13
[INFO] [stdout]     |
[INFO] [stdout] 543 |         let n_classes = classes.len();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_experts`
[INFO] [stdout]    --> src/mixture_experts.rs:645:13
[INFO] [stdout]     |
[INFO] [stdout] 645 |         let n_experts = self.experts().len();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_experts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/multi_view_discriminant/trained.rs:69:23
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn predict(&self, x: &Vec<Array2<Float>>) -> Result<Array1<i32>> {
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/multi_view_discriminant/trained.rs:76:29
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn predict_proba(&self, x: &Vec<Array2<Float>>) -> Result<Array2<Float>> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/multi_view_discriminant/trained.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn transform(&self, x: &Vec<Array2<Float>>) -> Result<Array2<Float>> {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/multi_view_discriminant/untrained.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn fit(self, x: &Vec<Array2<Float>>, y: &Array1<i32>) -> Result<Self::Fitted> {
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/multi_view_discriminant/untrained.rs:46:42
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn fit(self, x: &Vec<Array2<Float>>, y: &Array1<i32>) -> Result<Self::Fitted> {
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/nearest_shrunken_centroids.rs:375:14
[INFO] [stdout]     |
[INFO] [stdout] 375 |         for (i, mut row) in x_standardized.axis_iter_mut(Axis(0)).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_classes`
[INFO] [stdout]    --> src/nearest_shrunken_centroids.rs:667:13
[INFO] [stdout]     |
[INFO] [stdout] 667 |         let n_classes = classes.len();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_classes`
[INFO] [stdout]    --> src/nearest_shrunken_centroids.rs:700:13
[INFO] [stdout]     |
[INFO] [stdout] 700 |         let n_classes = classes.len();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/nearest_shrunken_centroids.rs:737:14
[INFO] [stdout]     |
[INFO] [stdout] 737 |         for (i, mut row) in x_standardized.axis_iter_mut(Axis(0)).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/nearest_shrunken_centroids.rs:831:14
[INFO] [stdout]     |
[INFO] [stdout] 831 |         let (n_samples, n_features) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epoch`
[INFO] [stdout]    --> src/neural_discriminant.rs:603:13
[INFO] [stdout]     |
[INFO] [stdout] 603 |         for epoch in 0..self.config.training.max_epochs {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/neural_discriminant.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |         let n_samples = outputs.nrows();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_batch`
[INFO] [stdout]    --> src/neural_discriminant.rs:734:9
[INFO] [stdout]     |
[INFO] [stdout] 734 |         x_batch: &Array2<Float>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_batch`
[INFO] [stdout]    --> src/neural_discriminant.rs:735:9
[INFO] [stdout]     |
[INFO] [stdout] 735 |         y_batch: &Array1<i32>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outputs`
[INFO] [stdout]    --> src/neural_discriminant.rs:736:9
[INFO] [stdout]     |
[INFO] [stdout] 736 |         outputs: &Array2<Float>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/one_vs_one.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let n_samples = x.nrows();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/one_vs_rest.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |         let n_samples = x.nrows();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_new_samples`
[INFO] [stdout]    --> src/online_discriminant.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let n_new_samples = x.nrows();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_new_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_labels`
[INFO] [stdout]    --> src/online_discriminant.rs:371:17
[INFO] [stdout]     |
[INFO] [stdout] 371 |             let new_labels = label_buffer.clone();
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_labels`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_new_samples`
[INFO] [stdout]    --> src/online_discriminant.rs:424:13
[INFO] [stdout]     |
[INFO] [stdout] 424 |         let n_new_samples = x.nrows();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_new_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `drift_score` is never read
[INFO] [stdout]    --> src/online_discriminant.rs:509:31
[INFO] [stdout]     |
[INFO] [stdout] 509 |         let mut drift_score = 0.0;
[INFO] [stdout]     |                               ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/online_discriminant.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |         let n_samples = x.nrows();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/out_of_core.rs:186:36
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn calculate_chunk_size(&self, n_samples: usize, n_features: usize) -> Result<usize> {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mean`
[INFO] [stdout]    --> src/out_of_core.rs:453:14
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let (mean, covariance) = self.compute_incremental_statistics(&data_manager)?;
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_mean`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `covariance`
[INFO] [stdout]    --> src/out_of_core.rs:453:20
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let (mean, covariance) = self.compute_incremental_statistics(&data_manager)?;
[INFO] [stdout]     |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_covariance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `predictions`
[INFO] [stdout]    --> src/out_of_core.rs:733:13
[INFO] [stdout]     |
[INFO] [stdout] 733 |         let predictions = stream.predict(&test_data);
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predictions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/parallel_eigen.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let n = matrix.nrows();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/parallel_eigen.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let n = matrix.nrows();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_loss`
[INFO] [stdout]    --> src/penalized_discriminant_analysis.rs:442:17
[INFO] [stdout]     |
[INFO] [stdout] 442 |             let total_loss = loss + penalty;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_loss`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_features`
[INFO] [stdout]    --> src/penalized_discriminant_analysis.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 653 |         let n_features = x.ncols();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_features`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/qda.rs:130:14
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let (n_samples, n_features) = data.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/random_projection_discriminant_analysis.rs:626:27
[INFO] [stdout]     |
[INFO] [stdout] 626 |     pub fn fit(&mut self, x: &Array2<Float>, y: &Array1<i32>) -> Result<()> {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/random_projection_discriminant_analysis.rs:675:27
[INFO] [stdout]     |
[INFO] [stdout] 675 |     pub fn fit(&mut self, x: &Array2<Float>, y: &Array1<i32>) -> Result<()> {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_features`
[INFO] [stdout]    --> src/robust_adaptive.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |         let n_features = trained.pooled_covariance.nrows();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_features`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_features`
[INFO] [stdout]    --> src/simd_optimizations.rs:476:13
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let n_features = data.ncols();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_features`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_vec`
[INFO] [stdout]    --> src/simd_optimizations.rs:802:17
[INFO] [stdout]     |
[INFO] [stdout] 802 |             let x_vec = _mm256_loadu_pd(x.as_ptr().add(i));
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_x_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classes`
[INFO] [stdout]    --> src/sure_independence_screening.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let classes: Vec<i32> = {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/sure_independence_screening.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let n = x_ranks.len() as Float;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]    --> src/temporal_discriminant.rs:424:14
[INFO] [stdout]     |
[INFO] [stdout] 424 |         let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_features`
[INFO] [stdout]    --> src/temporal_discriminant.rs:424:25
[INFO] [stdout]     |
[INFO] [stdout] 424 |         let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_features`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_time_steps`
[INFO] [stdout]    --> src/temporal_discriminant.rs:424:37
[INFO] [stdout]     |
[INFO] [stdout] 424 |         let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_time_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_time_steps`
[INFO] [stdout]    --> src/temporal_discriminant.rs:795:37
[INFO] [stdout]     |
[INFO] [stdout] 795 |         let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_time_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `degree`
[INFO] [stdout]    --> src/temporal_discriminant.rs:831:39
[INFO] [stdout]     |
[INFO] [stdout] 831 |             TrendMethod::Polynomial { degree } => {
[INFO] [stdout]     |                                       ^^^^^^ help: try ignoring the field: `degree: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1009:14
[INFO] [stdout]      |
[INFO] [stdout] 1009 |         let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1124:9
[INFO] [stdout]      |
[INFO] [stdout] 1124 |         y: &Array1<i32>,
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classes`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1125:9
[INFO] [stdout]      |
[INFO] [stdout] 1125 |         classes: &Array1<i32>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_samples`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1129:22
[INFO] [stdout]      |
[INFO] [stdout] 1129 |                 let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]      |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_time_steps`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1129:45
[INFO] [stdout]      |
[INFO] [stdout] 1129 |                 let (n_samples, n_features, n_time_steps) = x.dim();
[INFO] [stdout]      |                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_time_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1144:9
[INFO] [stdout]      |
[INFO] [stdout] 1144 |         y: &Array1<i32>,
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temporal_means`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1146:9
[INFO] [stdout]      |
[INFO] [stdout] 1146 |         temporal_means: &Array2<Float>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temporal_means`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temporal_covariances`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1147:9
[INFO] [stdout]      |
[INFO] [stdout] 1147 |         temporal_covariances: &[Array2<Float>],
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temporal_covariances`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]     --> src/temporal_discriminant.rs:1235:29
[INFO] [stdout]      |
[INFO] [stdout] 1235 |             for (class_idx, pattern) in temporal_patterns.iter().enumerate() {
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ExpertModel` is more private than the item `mixture_experts::MixtureOfExpertsDiscriminantAnalysis::<Trained>::experts`
[INFO] [stdout]    --> src/mixture_experts.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn experts(&self) -> &Vec<ExpertModel> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `mixture_experts::MixtureOfExpertsDiscriminantAnalysis::<Trained>::experts` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ExpertModel` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/mixture_experts.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct ExpertModel {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `GatingNetwork` is more private than the item `mixture_experts::MixtureOfExpertsDiscriminantAnalysis::<Trained>::gating_network`
[INFO] [stdout]    --> src/mixture_experts.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn gating_network(&self) -> &GatingNetwork {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `mixture_experts::MixtureOfExpertsDiscriminantAnalysis::<Trained>::gating_network` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `GatingNetwork` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/mixture_experts.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | struct GatingNetwork {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 03s
[INFO] running `Command { std: "docker" "inspect" "cd66fc18701ab55f177c5cf7f7ffe58107d585c6914dc9aefd5650bc59139941", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd66fc18701ab55f177c5cf7f7ffe58107d585c6914dc9aefd5650bc59139941", kill_on_drop: false }`
[INFO] [stdout] cd66fc18701ab55f177c5cf7f7ffe58107d585c6914dc9aefd5650bc59139941
