[INFO] fetching crate sklears-neighbors 0.1.0-alpha.1...
[INFO] checking sklears-neighbors-0.1.0-alpha.1 against master#e22dab387f6b4f6a87dfc54ac2f6013dddb41e68 for pr-149195
[INFO] extracting crate sklears-neighbors 0.1.0-alpha.1 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate sklears-neighbors 0.1.0-alpha.1
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate sklears-neighbors 0.1.0-alpha.1
[INFO] tweaked toml for crates.io crate sklears-neighbors 0.1.0-alpha.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate sklears-neighbors 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-neighbors 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 katexit v0.1.5
[INFO] [stderr]   Downloaded lax v0.17.0
[INFO] [stderr]   Downloaded ndarray-rand v0.15.0
[INFO] [stderr]   Downloaded special v0.11.4
[INFO] [stderr]   Downloaded iter-read v1.1.0
[INFO] [stderr]   Downloaded ppmd-rust v1.2.1
[INFO] [stderr]   Downloaded friedrich v0.5.0
[INFO] [stderr]   Downloaded argmin-math v0.5.1
[INFO] [stderr]   Downloaded ndarray-linalg v0.17.0
[INFO] [stderr]   Downloaded lambert_w v1.2.28
[INFO] [stderr]   Downloaded argmin v0.11.0
[INFO] [stderr]   Downloaded zip v5.1.1
[INFO] [stderr]   Downloaded sprs v0.11.3
[INFO] [stderr]   Downloaded proptest v1.8.0
[INFO] [stderr]   Downloaded sklears-utils v0.1.0-alpha.1
[INFO] [stderr]   Downloaded sklears-metrics 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] [stderr]   Downloaded lapack-sys v0.14.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] ac93c0b807a0f0d6e52281b43a025c964ea49e0bbe1e6a187fd3d473b42ad186
[INFO] running `Command { std: "docker" "start" "-a" "ac93c0b807a0f0d6e52281b43a025c964ea49e0bbe1e6a187fd3d473b42ad186", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ac93c0b807a0f0d6e52281b43a025c964ea49e0bbe1e6a187fd3d473b42ad186", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac93c0b807a0f0d6e52281b43a025c964ea49e0bbe1e6a187fd3d473b42ad186", kill_on_drop: false }`
[INFO] [stdout] ac93c0b807a0f0d6e52281b43a025c964ea49e0bbe1e6a187fd3d473b42ad186
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 8c2d351c887a234bf89f7aa67e23853770d01e34eb490f6734f23310bc6d2f15
[INFO] running `Command { std: "docker" "start" "-a" "8c2d351c887a234bf89f7aa67e23853770d01e34eb490f6734f23310bc6d2f15", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking bytemuck v1.23.2
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking regex-automata v0.4.11
[INFO] [stderr]     Checking lapack-sys v0.14.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling scirs2-core v0.1.0-rc.1
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling lambert_w v1.2.28
[INFO] [stderr]     Checking zlib-rs v0.5.2
[INFO] [stderr]     Checking crc v3.3.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking bumpalo v3.19.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking libbz2-rs-sys v0.2.2
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking zopfli v0.8.2
[INFO] [stderr]     Checking lzma-rust2 v0.13.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking ppmd-rust v1.2.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking bzip2 v0.6.0
[INFO] [stderr]     Checking iter-read v1.1.0
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking wide v0.7.33
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rustc_version_runtime v0.3.0
[INFO] [stderr]     Checking semver v1.0.27
[INFO] [stderr]     Checking bitflags v2.9.4
[INFO] [stderr]     Checking rand_xoshiro v0.7.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking clap_builder v4.5.48
[INFO] [stderr]     Checking rustix v1.1.2
[INFO] [stderr]     Checking rustc_version v0.4.1
[INFO] [stderr]    Compiling cc v1.2.39
[INFO] [stderr]     Checking libz-rs-sys v0.5.2
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking rand_distr v0.5.1
[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 unarray v0.1.4
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking regex v1.11.3
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]     Checking quickcheck v1.0.3
[INFO] [stderr]     Checking clap v4.5.48
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking proptest v1.8.0
[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]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking zip v5.1.1
[INFO] [stderr]     Checking serde v1.0.228
[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 csv v1.3.1
[INFO] [stderr]     Checking serde-pickle v1.2.0
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking ciborium-ll 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 simba v0.7.3
[INFO] [stderr]     Checking argmin-math v0.5.1
[INFO] [stderr]     Checking special v0.11.4
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking lax v0.17.0
[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.30.1
[INFO] [stderr]     Checking nalgebra v0.33.2
[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-metrics v0.1.0-alpha.1
[INFO] [stderr]     Checking sklears-neighbors v0.1.0-alpha.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/compressed_distance.rs:436:14
[INFO] [stdout]     |
[INFO] [stdout] 436 |         for (i, row) in distances.axis_iter(Axis(0)).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/compressed_distance.rs:437:18
[INFO] [stdout]     |
[INFO] [stdout] 437 |             for (j, &val) in row.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `threshold`
[INFO] [stdout]    --> src/compressed_distance.rs:596:9
[INFO] [stdout]     |
[INFO] [stdout] 596 |         threshold: Float,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dense_count`
[INFO] [stdout]    --> src/compressed_distance.rs:600:13
[INFO] [stdout]     |
[INFO] [stdout] 600 |         let dense_count = shape.0 * shape.1 - sparse_count;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dense_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/compressed_distance.rs:710:14
[INFO] [stdout]     |
[INFO] [stdout] 710 |         for (i, &byte) in row_data.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]    --> src/compressed_distance.rs:763:20
[INFO] [stdout]     |
[INFO] [stdout] 763 |             .map(|(col, sparse_idx)| sparse_idx)
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `threshold`
[INFO] [stdout]    --> src/compressed_distance.rs:750:9
[INFO] [stdout]     |
[INFO] [stdout] 750 |         threshold: Float,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row_sparse_indices`
[INFO] [stdout]    --> src/compressed_distance.rs:756:13
[INFO] [stdout]     |
[INFO] [stdout] 756 |         let row_sparse_indices: Vec<usize> = indices
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_sparse_indices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fold_start`
[INFO] [stdout]    --> src/cross_validation.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 |             let fold_start = std::time::Instant::now();
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fold_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `train_densities`
[INFO] [stdout]    --> src/density_estimation.rs:922:13
[INFO] [stdout]     |
[INFO] [stdout] 922 |         let train_densities = self
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_train_densities`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/distributed_neighbors.rs:211:14
[INFO] [stdout]     |
[INFO] [stdout] 211 |         for (i, (_, _, stats)) in partition_results.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch`
[INFO] [stdout]    --> src/incremental_index.rs:393:13
[INFO] [stdout]     |
[INFO] [stdout] 393 |         let batch = {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_train`
[INFO] [stdout]    --> src/local_outlier_factor.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let n_train = x_train.nrows();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_train`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `M`
[INFO] [stdout]    --> src/manifold_learning.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let M = I_minus_W.t().dot(&I_minus_W);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_M`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `X`
[INFO] [stdout]    --> src/manifold_learning.rs:261:25
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn transform(&self, X: &Features) -> 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/manifold_learning.rs:450:25
[INFO] [stdout]     |
[INFO] [stdout] 450 |     fn transform(&self, X: &Features) -> 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/manifold_learning.rs:678:25
[INFO] [stdout]     |
[INFO] [stdout] 678 |     fn transform(&self, X: &Features) -> 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/manifold_learning.rs:924:25
[INFO] [stdout]     |
[INFO] [stdout] 924 |     fn transform(&self, X: &Features) -> 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: `node_assignments`
[INFO] [stdout]    --> src/mapreduce_neighbors.rs:456:9
[INFO] [stdout]     |
[INFO] [stdout] 456 |         node_assignments: &[usize],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_assignments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/metric_learning.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let rng = StdRng::seed_from_u64(rng_seed);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iteration`
[INFO] [stdout]    --> src/metric_learning.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |         for iteration in 0..self.max_iter {
[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/metric_learning.rs:784:13
[INFO] [stdout]     |
[INFO] [stdout] 784 |         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: `class_idx`
[INFO] [stdout]    --> src/nearest_centroid.rs:434:9
[INFO] [stdout]     |
[INFO] [stdout] 434 |         class_idx: usize,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leaf_size`
[INFO] [stdout]    --> src/parallel_tree.rs:574:9
[INFO] [stdout]     |
[INFO] [stdout] 574 |         leaf_size: usize,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/parallel_tree.rs:598:9
[INFO] [stdout]     |
[INFO] [stdout] 598 |         data: &Array2<Float>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_indices`
[INFO] [stdout]    --> src/sparse_neighbors.rs:268:17
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 col_indices,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `col_indices: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_indices`
[INFO] [stdout]    --> src/sparse_neighbors.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |                 col_indices,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `col_indices: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_ptr`
[INFO] [stdout]    --> src/sparse_neighbors.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 col_ptr,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `col_ptr: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/spatial.rs:639:9
[INFO] [stdout]     |
[INFO] [stdout] 639 |         depth: usize,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bounds`
[INFO] [stdout]    --> src/spatial.rs:789:38
[INFO] [stdout]     |
[INFO] [stdout] 789 |             QuadTreeNode::Internal { bounds, children } => {
[INFO] [stdout]     |                                      ^^^^^^ help: try ignoring the field: `bounds: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]     --> src/spatial.rs:1662:13
[INFO] [stdout]      |
[INFO] [stdout] 1662 |         for dim in 0..self.dimensions {
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scirs2_core::random::Rng`
[INFO] [stdout]   --> src/comprehensive_tests.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use scirs2_core::random::Rng;
[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: `test_data`
[INFO] [stdout]    --> src/batch_processing.rs:486:13
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let test_data =
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `search`
[INFO] [stdout]    --> src/batch_processing.rs:489:13
[INFO] [stdout]     |
[INFO] [stdout] 489 |         let search = BatchNeighborSearch::new(3, Distance::Euclidean, training_data);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_search`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/compressed_distance.rs:436:14
[INFO] [stdout]     |
[INFO] [stdout] 436 |         for (i, row) in distances.axis_iter(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: `j`
[INFO] [stdout]    --> src/compressed_distance.rs:437:18
[INFO] [stdout]     |
[INFO] [stdout] 437 |             for (j, &val) in row.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `threshold`
[INFO] [stdout]    --> src/compressed_distance.rs:596:9
[INFO] [stdout]     |
[INFO] [stdout] 596 |         threshold: Float,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dense_count`
[INFO] [stdout]    --> src/compressed_distance.rs:600:13
[INFO] [stdout]     |
[INFO] [stdout] 600 |         let dense_count = shape.0 * shape.1 - sparse_count;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dense_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/compressed_distance.rs:710:14
[INFO] [stdout]     |
[INFO] [stdout] 710 |         for (i, &byte) in row_data.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]    --> src/compressed_distance.rs:763:20
[INFO] [stdout]     |
[INFO] [stdout] 763 |             .map(|(col, sparse_idx)| sparse_idx)
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `threshold`
[INFO] [stdout]    --> src/compressed_distance.rs:750:9
[INFO] [stdout]     |
[INFO] [stdout] 750 |         threshold: Float,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row_sparse_indices`
[INFO] [stdout]    --> src/compressed_distance.rs:756:13
[INFO] [stdout]     |
[INFO] [stdout] 756 |         let row_sparse_indices: Vec<usize> = indices
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_sparse_indices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `feature_dim`
[INFO] [stdout]     --> src/computer_vision.rs:1262:26
[INFO] [stdout]      |
[INFO] [stdout] 1262 |         let (num_images, feature_dim, _) = search.get_stats();
[INFO] [stdout]      |                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_feature_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fold_start`
[INFO] [stdout]    --> src/cross_validation.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 |             let fold_start = std::time::Instant::now();
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fold_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `train_densities`
[INFO] [stdout]    --> src/density_estimation.rs:922:13
[INFO] [stdout]     |
[INFO] [stdout] 922 |         let train_densities = self
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_train_densities`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/distributed_neighbors.rs:211:14
[INFO] [stdout]     |
[INFO] [stdout] 211 |         for (i, (_, _, stats)) in partition_results.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]   --> benches/knn_bench.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |             let noise = rng.gen::<f64>() * 0.5;
[INFO] [stdout]    |                             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch`
[INFO] [stdout]    --> src/incremental_index.rs:393:13
[INFO] [stdout]     |
[INFO] [stdout] 393 |         let batch = {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]   --> benches/knn_bench.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let value = rng.gen::<f64>() * 10.0 - 5.0;
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]   --> benches/knn_bench.rs:47:40
[INFO] [stdout]    |
[INFO] [stdout] 47 |         targets.push(feature_sum + rng.gen::<f64>() * 0.1);
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> benches/knn_bench.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |             let (X, y) = generate_classification_data(n_samples, n_features);
[INFO] [stdout]    |                  ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> benches/knn_bench.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 |b, (X, y)| {
[INFO] [stdout]    |                      ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> benches/knn_bench.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let (X, y) = generate_classification_data(n_samples, n_features);
[INFO] [stdout]    |                  ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> benches/knn_bench.rs:92:22
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 |b, (X, classifier)| b.iter(|| black_box(classifier.predict(X).unwrap())),
[INFO] [stdout]    |                      ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> benches/knn_bench.rs:104:18
[INFO] [stdout]     |
[INFO] [stdout] 104 |             let (X, y) = generate_regression_data(n_samples, n_features);
[INFO] [stdout]     |                  ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> benches/knn_bench.rs:110:22
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 |b, (X, y)| {
[INFO] [stdout]     |                      ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> benches/knn_bench.rs:126:14
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let (X, y) = generate_classification_data(n_samples, 10);
[INFO] [stdout]     |              ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> benches/knn_bench.rs:134:18
[INFO] [stdout]     |
[INFO] [stdout] 134 |             |b, (X, classifier)| b.iter(|| black_box(classifier.predict_proba(X).unwrap())),
[INFO] [stdout]     |                  ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> benches/knn_bench.rs:142:10
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let (X, y) = generate_classification_data(500, 10);
[INFO] [stdout]     |          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_train`
[INFO] [stdout]    --> src/local_outlier_factor.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let n_train = x_train.nrows();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_train`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `M`
[INFO] [stdout]    --> src/manifold_learning.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let M = I_minus_W.t().dot(&I_minus_W);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_M`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `X`
[INFO] [stdout]    --> src/manifold_learning.rs:261:25
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn transform(&self, X: &Features) -> 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/manifold_learning.rs:450:25
[INFO] [stdout]     |
[INFO] [stdout] 450 |     fn transform(&self, X: &Features) -> 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/manifold_learning.rs:678:25
[INFO] [stdout]     |
[INFO] [stdout] 678 |     fn transform(&self, X: &Features) -> 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/manifold_learning.rs:924:25
[INFO] [stdout]     |
[INFO] [stdout] 924 |     fn transform(&self, X: &Features) -> 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: `node_assignments`
[INFO] [stdout]    --> src/mapreduce_neighbors.rs:456:9
[INFO] [stdout]     |
[INFO] [stdout] 456 |         node_assignments: &[usize],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_assignments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `empty_x`
[INFO] [stdout]    --> src/mapreduce_neighbors.rs:637:13
[INFO] [stdout]     |
[INFO] [stdout] 637 |         let empty_x = Array2::<Float>::zeros((0, 2));
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_empty_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/metric_learning.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let rng = StdRng::seed_from_u64(rng_seed);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iteration`
[INFO] [stdout]    --> src/metric_learning.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |         for iteration in 0..self.max_iter {
[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/metric_learning.rs:784:13
[INFO] [stdout]     |
[INFO] [stdout] 784 |         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: `class_idx`
[INFO] [stdout]    --> src/nearest_centroid.rs:434:9
[INFO] [stdout]     |
[INFO] [stdout] 434 |         class_idx: usize,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dists`
[INFO] [stdout]    --> src/nearest_neighbors.rs:380:13
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let dists = distances.unwrap();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_dists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leaf_size`
[INFO] [stdout]    --> src/parallel_tree.rs:574:9
[INFO] [stdout]     |
[INFO] [stdout] 574 |         leaf_size: usize,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/parallel_tree.rs:598:9
[INFO] [stdout]     |
[INFO] [stdout] 598 |         data: &Array2<Float>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_indices`
[INFO] [stdout]    --> src/sparse_neighbors.rs:268:17
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 col_indices,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `col_indices: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_indices`
[INFO] [stdout]    --> src/sparse_neighbors.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |                 col_indices,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `col_indices: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_ptr`
[INFO] [stdout]    --> src/sparse_neighbors.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 col_ptr,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `col_ptr: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `distances`
[INFO] [stdout]    --> src/sparse_neighbors.rs:879:25
[INFO] [stdout]     |
[INFO] [stdout] 879 |         let (neighbors, distances) = sparse.get_neighbors(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distances`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/spatial.rs:639:9
[INFO] [stdout]     |
[INFO] [stdout] 639 |         depth: usize,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bounds`
[INFO] [stdout]    --> src/spatial.rs:789:38
[INFO] [stdout]     |
[INFO] [stdout] 789 |             QuadTreeNode::Internal { bounds, children } => {
[INFO] [stdout]     |                                      ^^^^^^ help: try ignoring the field: `bounds: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]     --> src/spatial.rs:1662:13
[INFO] [stdout]      |
[INFO] [stdout] 1662 |         for dim in 0..self.dimensions {
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `knn_brute`
[INFO] [stdout]    --> src/comprehensive_tests.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |                     let knn_brute = KNeighborsClassifier::new(k).with_metric(distance.clone());
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_knn_brute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fitted`
[INFO] [stdout]    --> src/comprehensive_tests.rs:402:21
[INFO] [stdout]     |
[INFO] [stdout] 402 |                 let fitted = classifier.fit(&x, &y);
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fitted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "8c2d351c887a234bf89f7aa67e23853770d01e34eb490f6734f23310bc6d2f15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c2d351c887a234bf89f7aa67e23853770d01e34eb490f6734f23310bc6d2f15", kill_on_drop: false }`
[INFO] [stdout] 8c2d351c887a234bf89f7aa67e23853770d01e34eb490f6734f23310bc6d2f15
