[INFO] fetching crate sklears-neighbors 0.1.0-alpha.1... [INFO] testing sklears-neighbors-0.1.0-alpha.1 against beta-2025-10-28 for beta-1.92-2 [INFO] extracting crate sklears-neighbors 0.1.0-alpha.1 into /workspace/builds/worker-3-tc2/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-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate sklears-neighbors 0.1.0-alpha.1 on toolchain beta-2025-10-28 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "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" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 32cefdfe7d6afaa13ce1db1f0b82b7bfc757ee680fa647f89099c1eda33f732e [INFO] running `Command { std: "docker" "start" "-a" "32cefdfe7d6afaa13ce1db1f0b82b7bfc757ee680fa647f89099c1eda33f732e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "32cefdfe7d6afaa13ce1db1f0b82b7bfc757ee680fa647f89099c1eda33f732e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "32cefdfe7d6afaa13ce1db1f0b82b7bfc757ee680fa647f89099c1eda33f732e", kill_on_drop: false }` [INFO] [stdout] 32cefdfe7d6afaa13ce1db1f0b82b7bfc757ee680fa647f89099c1eda33f732e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a6a0277b9d3d724432987101c0d95eda8d91704685eb059eb7adeb98fe23433f [INFO] running `Command { std: "docker" "start" "-a" "a6a0277b9d3d724432987101c0d95eda8d91704685eb059eb7adeb98fe23433f", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling bytemuck v1.23.2 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling cc v1.2.39 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling wide v0.7.33 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling regex-automata v0.4.11 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling lapack-sys v0.14.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling scirs2-core v0.1.0-rc.1 [INFO] [stderr] Compiling virtue v0.0.18 [INFO] [stderr] Compiling lambert_w v1.2.28 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling rand_distr v0.5.1 [INFO] [stderr] Compiling zlib-rs v0.5.2 [INFO] [stderr] Compiling bincode_derive v2.0.1 [INFO] [stderr] Compiling unty v0.0.4 [INFO] [stderr] Compiling regex v1.11.3 [INFO] [stderr] Compiling deranged v0.5.4 [INFO] [stderr] Compiling env_logger v0.8.4 [INFO] [stderr] Compiling crc v3.3.0 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling libbz2-rs-sys v0.2.2 [INFO] [stderr] Compiling hashbrown v0.16.0 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Compiling indexmap v2.11.4 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling zopfli v0.8.2 [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 rustc_version v0.4.1 [INFO] [stderr] Compiling bzip2 v0.6.0 [INFO] [stderr] Compiling lzma-rust2 v0.13.0 [INFO] [stderr] Compiling pbkdf2 v0.12.2 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling quickcheck v1.0.3 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling csv-core v0.1.12 [INFO] [stderr] Compiling libz-rs-sys v0.5.2 [INFO] [stderr] Compiling memmap2 v0.9.8 [INFO] [stderr] Compiling flate2 v1.1.2 [INFO] [stderr] Compiling ppmd-rust v1.2.1 [INFO] [stderr] Compiling iter-read v1.1.0 [INFO] [stderr] Compiling rustc_version_runtime v0.3.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling uuid v1.18.1 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling bincode v2.0.1 [INFO] [stderr] Compiling half v2.6.0 [INFO] [stderr] Compiling csv v1.3.1 [INFO] [stderr] Compiling simba v0.9.1 [INFO] [stderr] Compiling cauchy v0.4.0 [INFO] [stderr] Compiling ndarray v0.16.1 [INFO] [stderr] Compiling lax v0.17.0 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling special v0.11.4 [INFO] [stderr] Compiling zip v5.1.1 [INFO] [stderr] Compiling serde-pickle v1.2.0 [INFO] [stderr] Compiling ndarray-rand v0.15.0 [INFO] [stderr] Compiling ndarray-linalg v0.17.0 [INFO] [stderr] Compiling nalgebra v0.33.2 [INFO] [stderr] Compiling statrs v0.18.0 [INFO] [stderr] Compiling scirs2-linalg v0.1.0-rc.1 [INFO] [stderr] Compiling scirs2-stats v0.1.0-rc.1 [INFO] [stderr] Compiling numrs2 v0.1.0-beta.3 [INFO] [stderr] Compiling sklears-core v0.1.0-alpha.1 [INFO] [stderr] Compiling sklears-utils v0.1.0-alpha.1 [INFO] [stderr] Compiling 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 = 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> { [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> { [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> { [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> { [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, [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 27s [INFO] running `Command { std: "docker" "inspect" "a6a0277b9d3d724432987101c0d95eda8d91704685eb059eb7adeb98fe23433f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6a0277b9d3d724432987101c0d95eda8d91704685eb059eb7adeb98fe23433f", kill_on_drop: false }` [INFO] [stdout] a6a0277b9d3d724432987101c0d95eda8d91704685eb059eb7adeb98fe23433f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 576addaaf52d723c6ebebf8d007ed4a9f0440fe3b706cc484035e371f678083c [INFO] running `Command { std: "docker" "start" "-a" "576addaaf52d723c6ebebf8d007ed4a9f0440fe3b706cc484035e371f678083c", kill_on_drop: false }` [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling scirs2-core v0.1.0-rc.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling flate2 v1.1.2 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling simba v0.7.3 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling argmin-math v0.5.1 [INFO] [stderr] Compiling rand_xoshiro v0.7.0 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling zip v5.1.1 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling argmin v0.11.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling clap_builder v4.5.48 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling ndarray v0.16.1 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling clap v4.5.48 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rusty-fork v0.3.0 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling proptest v1.8.0 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling nalgebra-macros v0.1.0 [INFO] [stderr] Compiling nalgebra v0.30.1 [INFO] [stderr] Compiling ndarray-linalg v0.17.0 [INFO] [stderr] Compiling ndarray-rand v0.15.0 [INFO] [stderr] Compiling sprs v0.11.3 [INFO] [stderr] Compiling friedrich v0.5.0 [INFO] [stderr] Compiling scirs2-linalg v0.1.0-rc.1 [INFO] [stderr] Compiling scirs2-sparse v0.1.0-rc.1 [INFO] [stderr] Compiling scirs2-stats v0.1.0-rc.1 [INFO] [stderr] Compiling scirs2-optimize v0.1.0-rc.1 [INFO] [stderr] Compiling numrs2 v0.1.0-beta.3 [INFO] [stderr] Compiling sklears-core v0.1.0-alpha.1 [INFO] [stderr] Compiling sklears-utils v0.1.0-alpha.1 [INFO] [stderr] Compiling sklears-metrics v0.1.0-alpha.1 [INFO] [stderr] Compiling 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 = 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> { [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> { [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> { [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> { [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, [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 = 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: 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> { [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> { [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> { [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> { [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::::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, [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 `test` profile [unoptimized + debuginfo] target(s) in 4m 27s [INFO] running `Command { std: "docker" "inspect" "576addaaf52d723c6ebebf8d007ed4a9f0440fe3b706cc484035e371f678083c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "576addaaf52d723c6ebebf8d007ed4a9f0440fe3b706cc484035e371f678083c", kill_on_drop: false }` [INFO] [stdout] 576addaaf52d723c6ebebf8d007ed4a9f0440fe3b706cc484035e371f678083c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b07ba0d6ad05bff8eef38ee4f2bccf03ccaa8fa5d510dd9878ce92cb4982f4ef [INFO] running `Command { std: "docker" "start" "-a" "b07ba0d6ad05bff8eef38ee4f2bccf03ccaa8fa5d510dd9878ce92cb4982f4ef", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/compressed_distance.rs:436:14 [INFO] [stderr] | [INFO] [stderr] 436 | for (i, row) in distances.axis_iter(Axis(0)).enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/compressed_distance.rs:437:18 [INFO] [stderr] | [INFO] [stderr] 437 | for (j, &val) in row.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `threshold` [INFO] [stderr] --> src/compressed_distance.rs:596:9 [INFO] [stderr] | [INFO] [stderr] 596 | threshold: Float, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dense_count` [INFO] [stderr] --> src/compressed_distance.rs:600:13 [INFO] [stderr] | [INFO] [stderr] 600 | let dense_count = shape.0 * shape.1 - sparse_count; [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dense_count` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/compressed_distance.rs:710:14 [INFO] [stderr] | [INFO] [stderr] 710 | for (i, &byte) in row_data.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `col` [INFO] [stderr] --> src/compressed_distance.rs:763:20 [INFO] [stderr] | [INFO] [stderr] 763 | .map(|(col, sparse_idx)| sparse_idx) [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `threshold` [INFO] [stderr] --> src/compressed_distance.rs:750:9 [INFO] [stderr] | [INFO] [stderr] 750 | threshold: Float, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row_sparse_indices` [INFO] [stderr] --> src/compressed_distance.rs:756:13 [INFO] [stderr] | [INFO] [stderr] 756 | let row_sparse_indices: Vec = indices [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_sparse_indices` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fold_start` [INFO] [stderr] --> src/cross_validation.rs:217:17 [INFO] [stderr] | [INFO] [stderr] 217 | let fold_start = std::time::Instant::now(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fold_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `train_densities` [INFO] [stderr] --> src/density_estimation.rs:922:13 [INFO] [stderr] | [INFO] [stderr] 922 | let train_densities = self [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_train_densities` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/distributed_neighbors.rs:211:14 [INFO] [stderr] | [INFO] [stderr] 211 | for (i, (_, _, stats)) in partition_results.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `batch` [INFO] [stderr] --> src/incremental_index.rs:393:13 [INFO] [stderr] | [INFO] [stderr] 393 | let batch = { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_batch` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n_train` [INFO] [stderr] --> src/local_outlier_factor.rs:298:13 [INFO] [stderr] | [INFO] [stderr] 298 | let n_train = x_train.nrows(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_train` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `M` [INFO] [stderr] --> src/manifold_learning.rs:206:13 [INFO] [stderr] | [INFO] [stderr] 206 | let M = I_minus_W.t().dot(&I_minus_W); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_M` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `X` [INFO] [stderr] --> src/manifold_learning.rs:261:25 [INFO] [stderr] | [INFO] [stderr] 261 | fn transform(&self, X: &Features) -> Result> { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_X` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `X` [INFO] [stderr] --> src/manifold_learning.rs:450:25 [INFO] [stderr] | [INFO] [stderr] 450 | fn transform(&self, X: &Features) -> Result> { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_X` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `X` [INFO] [stderr] --> src/manifold_learning.rs:678:25 [INFO] [stderr] | [INFO] [stderr] 678 | fn transform(&self, X: &Features) -> Result> { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_X` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `X` [INFO] [stderr] --> src/manifold_learning.rs:924:25 [INFO] [stderr] | [INFO] [stderr] 924 | fn transform(&self, X: &Features) -> Result> { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_X` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `node_assignments` [INFO] [stderr] --> src/mapreduce_neighbors.rs:456:9 [INFO] [stderr] | [INFO] [stderr] 456 | node_assignments: &[usize], [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_assignments` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rng` [INFO] [stderr] --> src/metric_learning.rs:266:13 [INFO] [stderr] | [INFO] [stderr] 266 | let rng = StdRng::seed_from_u64(rng_seed); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `iteration` [INFO] [stderr] --> src/metric_learning.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | for iteration in 0..self.max_iter { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iteration` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n_features` [INFO] [stderr] --> src/metric_learning.rs:784:13 [INFO] [stderr] | [INFO] [stderr] 784 | let n_features = x.ncols(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_features` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `class_idx` [INFO] [stderr] --> src/nearest_centroid.rs:434:9 [INFO] [stderr] | [INFO] [stderr] 434 | class_idx: usize, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_idx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `leaf_size` [INFO] [stderr] --> src/parallel_tree.rs:574:9 [INFO] [stderr] | [INFO] [stderr] 574 | leaf_size: usize, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/parallel_tree.rs:598:9 [INFO] [stderr] | [INFO] [stderr] 598 | data: &Array2, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `col_indices` [INFO] [stderr] --> src/sparse_neighbors.rs:268:17 [INFO] [stderr] | [INFO] [stderr] 268 | col_indices, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `col_indices: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `col_indices` [INFO] [stderr] --> src/sparse_neighbors.rs:282:17 [INFO] [stderr] | [INFO] [stderr] 282 | col_indices, [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `col_indices: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `col_ptr` [INFO] [stderr] --> src/sparse_neighbors.rs:299:17 [INFO] [stderr] | [INFO] [stderr] 299 | col_ptr, [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `col_ptr: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `depth` [INFO] [stderr] --> src/spatial.rs:639:9 [INFO] [stderr] | [INFO] [stderr] 639 | depth: usize, [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bounds` [INFO] [stderr] --> src/spatial.rs:789:38 [INFO] [stderr] | [INFO] [stderr] 789 | QuadTreeNode::Internal { bounds, children } => { [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `bounds: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dim` [INFO] [stderr] --> src/spatial.rs:1662:13 [INFO] [stderr] | [INFO] [stderr] 1662 | for dim in 0..self.dimensions { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_dim` [INFO] [stderr] [INFO] [stderr] warning: `sklears-neighbors` (lib) generated 31 warnings (run `cargo fix --lib -p sklears-neighbors` to apply 31 suggestions) [INFO] [stderr] warning: unused import: `scirs2_core::random::Rng` [INFO] [stderr] --> src/comprehensive_tests.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use scirs2_core::random::Rng; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test_data` [INFO] [stderr] --> src/batch_processing.rs:486:13 [INFO] [stderr] | [INFO] [stderr] 486 | let test_data = [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_data` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `search` [INFO] [stderr] --> src/batch_processing.rs:489:13 [INFO] [stderr] | [INFO] [stderr] 489 | let search = BatchNeighborSearch::new(3, Distance::Euclidean, training_data); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_search` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/compressed_distance.rs:436:14 [INFO] [stderr] | [INFO] [stderr] 436 | for (i, row) in distances.axis_iter(Axis(0)).enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `feature_dim` [INFO] [stderr] --> src/computer_vision.rs:1262:26 [INFO] [stderr] | [INFO] [stderr] 1262 | let (num_images, feature_dim, _) = search.get_stats(); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_feature_dim` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `empty_x` [INFO] [stderr] --> src/mapreduce_neighbors.rs:637:13 [INFO] [stderr] | [INFO] [stderr] 637 | let empty_x = Array2::::zeros((0, 2)); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_empty_x` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dists` [INFO] [stderr] --> src/nearest_neighbors.rs:380:13 [INFO] [stderr] | [INFO] [stderr] 380 | let dists = distances.unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_dists` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `distances` [INFO] [stderr] --> src/sparse_neighbors.rs:879:25 [INFO] [stderr] | [INFO] [stderr] 879 | let (neighbors, distances) = sparse.get_neighbors(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distances` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `knn_brute` [INFO] [stderr] --> src/comprehensive_tests.rs:181:25 [INFO] [stderr] | [INFO] [stderr] 181 | let knn_brute = KNeighborsClassifier::new(k).with_metric(distance.clone()); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_knn_brute` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fitted` [INFO] [stderr] --> src/comprehensive_tests.rs:402:21 [INFO] [stderr] | [INFO] [stderr] 402 | let fitted = classifier.fit(&x, &y); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fitted` [INFO] [stderr] [INFO] [stderr] warning: `sklears-neighbors` (lib test) generated 40 warnings (30 duplicates) (run `cargo fix --lib -p sklears-neighbors --tests` to apply 9 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.40s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sklears_neighbors-ec997c78e2ca2a48) [INFO] [stdout] [INFO] [stdout] running 356 tests [INFO] [stdout] test abod::tests::test_abod_construction ... ok [INFO] [stdout] test abod::tests::test_abod_empty_input ... ok [INFO] [stdout] test abod::tests::test_abod_invalid_k ... ok [INFO] [stdout] test abod::tests::test_abod_with_parameters ... ok [INFO] [stdout] test adaptive_distance::tests::test_adaptive_density_distance ... ok [INFO] [stdout] test abod::tests::test_abod_angle_computation ... ok [INFO] [stdout] test adaptive_distance::tests::test_context_dependent_distance ... ok [INFO] [stdout] test adaptive_distance::tests::test_ensemble_different_combination_methods ... ok [INFO] [stdout] test abod::tests::test_abod_fit_predict ... ok [INFO] [stdout] test abod::tests::test_abod_fast_mode ... ok [INFO] [stdout] test abod::tests::test_abod_training_scores ... ok [INFO] [stdout] test adaptive_distance::tests::test_ensemble_distance ... ok [INFO] [stdout] test adaptive_distance::tests::test_online_adaptive_distance ... ok [INFO] [stdout] test abod::tests::test_abod_threshold ... ok [INFO] [stdout] test advanced_outliers::tests::test_distance_metrics ... ok [INFO] [stdout] test advanced_outliers::tests::test_cof_edge_cases ... ok [INFO] [stdout] test advanced_outliers::tests::test_isolation_node_path_length ... ok [INFO] [stdout] test advanced_outliers::tests::test_loci_edge_cases ... ok [INFO] [stdout] test advanced_outliers::tests::test_cof_basic ... ok [INFO] [stdout] test approximate_distance::tests::test_approximate_vs_exact_distance ... ok [INFO] [stdout] test advanced_outliers::tests::test_isolation_forest_small_dataset ... ok [INFO] [stdout] test advanced_outliers::tests::test_isolation_forest_basic ... ok [INFO] [stdout] test abod::tests::test_abod_decision_function ... ok [INFO] [stdout] test advanced_outliers::tests::test_isolation_forest_configuration ... ok [INFO] [stdout] test advanced_outliers::tests::test_isolation_forest_identical_points ... ok [INFO] [stdout] test approximate_distance::tests::test_invalid_inputs ... ok [INFO] [stdout] test approximate_distance::tests::test_lsh_hash_computation ... ok [INFO] [stdout] test approximate_distance::tests::test_lsh_family_creation ... ok [INFO] [stdout] test batch_processing::tests::test_batch_processor_creation ... ok [INFO] [stdout] test batch_processing::tests::test_batch_processing_with_overlap ... ok [INFO] [stdout] test approximate_distance::tests::test_lsh_hash_table ... ok [INFO] [stdout] test approximate_distance::tests::test_random_projection_creation ... ok [INFO] [stdout] test batch_processing::tests::test_empty_input_handling ... ok [INFO] [stdout] test approximate_distance::tests::test_random_projection_distance ... ok [INFO] [stdout] test batch_processing::tests::test_memory_efficiency_calculation ... ok [INFO] [stdout] test batch_processing::tests::test_optimal_batch_size_calculation ... ok [INFO] [stdout] test bayesian_neighbors::tests::test_bayesian_knn_error_cases ... ok [INFO] [stdout] test bayesian_neighbors::tests::test_bayesian_knn_classifier_basic ... ok [INFO] [stdout] test batch_processing::tests::test_memory_monitoring ... ok [INFO] [stdout] test batch_processing::tests::test_parallel_processing_basic ... ok [INFO] [stdout] test bioinformatics::tests::test_gc_content_calculation ... ok [INFO] [stdout] test bioinformatics::tests::test_gene_expression_neighbors ... ok [INFO] [stdout] test bayesian_neighbors::tests::test_bayesian_knn_regressor_basic ... ok [INFO] [stdout] test bioinformatics::tests::test_protein_structure_search ... ok [INFO] [stdout] test bioinformatics::tests::test_kmer_index ... ok [INFO] [stdout] test bioinformatics::tests::test_sequence_aligner ... ok [INFO] [stdout] test bioinformatics::tests::test_sequence_alignment_identity ... ok [INFO] [stdout] test comprehensive_tests::tests::test_comprehensive_framework ... ok [INFO] [stdout] test bioinformatics::tests::test_sequence_similarity_search ... ok [INFO] [stdout] test approximate_distance::tests::test_product_quantization_creation ... ok [INFO] [stdout] test bayesian_neighbors::tests::test_uncertainty_methods ... ok [INFO] [stdout] test compressed_distance::tests::test_compressed_distance_matrix_float16 ... ok [INFO] [stdout] test compressed_distance::tests::test_compressed_distance_matrix_quantized ... ok [INFO] [stdout] test compressed_distance::tests::test_compressed_distance_matrix_row_access ... ok [INFO] [stdout] test compressed_distance::tests::test_compressed_distance_matrix_sparse ... ok [INFO] [stdout] test compressed_distance::tests::test_compression_stats ... ok [INFO] [stdout] test compressed_distance::tests::test_float16_conversion ... ok [INFO] [stdout] test comprehensive_tests::tests::test_outlier_pipeline ... ok [INFO] [stdout] test computer_vision::tests::test_color_histogram_extractor ... ok [INFO] [stdout] test computer_vision::tests::test_feature_descriptor_matcher ... ok [INFO] [stdout] test computer_vision::tests::test_image_similarity_search ... ok [INFO] [stdout] test computer_vision::tests::test_local_binary_pattern_extractor ... ok [INFO] [stdout] test computer_vision::tests::test_patch_based_matching ... ok [INFO] [stdout] test computer_vision::tests::test_visual_word_recognizer ... ok [INFO] [stdout] test cross_validation::tests::test_algorithm_comparison ... ok [INFO] [stdout] test batch_processing::tests::test_memory_efficient_batch_processing ... ok [INFO] [stdout] test cross_validation::tests::test_cv_results_methods ... ok [INFO] [stdout] test cross_validation::tests::test_bootstrap_cv ... ok [INFO] [stdout] test cross_validation::tests::test_k_fold_cv ... ok [INFO] [stdout] test cross_validation::tests::test_cv_with_train_scores ... ok [INFO] [stdout] test cross_validation::tests::test_regressor_cv ... ok [INFO] [stdout] test cross_validation::tests::test_leave_one_out_cv ... ok [INFO] [stdout] test cross_validation::tests::test_k_optimization ... ok [INFO] [stdout] test cross_validation::tests::test_stratified_k_fold_cv ... ok [INFO] [stdout] test cross_validation::tests::test_time_series_cv ... ok [INFO] [stdout] test density_estimation::tests::test_bandwidth_methods ... ok [INFO] [stdout] test density_estimation::tests::test_density_based_clustering_accessors ... ok [INFO] [stdout] test density_estimation::tests::test_density_based_clustering_basic ... ok [INFO] [stdout] test density_estimation::tests::test_density_based_clustering_edge_cases ... ok [INFO] [stdout] test density_estimation::tests::test_density_based_clustering_identical_points ... ok [INFO] [stdout] test density_estimation::tests::test_kernel_functions ... ok [INFO] [stdout] test density_estimation::tests::test_knn_density_estimator ... ok [INFO] [stdout] test density_estimation::tests::test_variable_bandwidth_kde ... ok [INFO] [stdout] test distance::tests::test_chebyshev_distance ... ok [INFO] [stdout] test distance::tests::test_cosine_distance ... ok [INFO] [stdout] test density_estimation::tests::test_density_based_clustering_configuration ... ok [INFO] [stdout] test distance::tests::test_custom_distance ... ok [INFO] [stdout] test distance::tests::test_distance_enum ... ok [INFO] [stdout] test distance::tests::test_distance_enum_partial_eq ... ok [INFO] [stdout] test distance::tests::test_euclidean_distance ... ok [INFO] [stdout] test distance::tests::test_kernel_to_distance_conversion ... ok [INFO] [stdout] test distance::tests::test_laplacian_kernel_distance ... ok [INFO] [stdout] test distance::tests::test_mahalanobis_distance ... ok [INFO] [stdout] test distance::tests::test_mahalanobis_distance_creation_error ... ok [INFO] [stdout] test comprehensive_tests::tests::test_integration_pipeline ... ok [INFO] [stdout] test density_estimation::tests::test_local_density_estimator ... ok [INFO] [stdout] test distance::tests::test_manhattan_distance ... ok [INFO] [stdout] test distance::tests::test_matrix_inversion ... ok [INFO] [stdout] test distance::tests::test_pairwise_distances ... ok [INFO] [stdout] test distance::tests::test_polynomial_kernel_distance ... ok [INFO] [stdout] test distance::tests::test_rbf_kernel_distance ... ok [INFO] [stdout] test distance::tests::test_sigmoid_kernel_distance ... ok [INFO] [stdout] test distributed_neighbors::tests::test_data_partitioner_feature_hash ... ok [INFO] [stdout] test distributed_neighbors::tests::test_data_partitioner_round_robin ... ok [INFO] [stdout] test distributed_neighbors::tests::test_distributed_search_builder ... ok [INFO] [stdout] test distributed_neighbors::tests::test_health_check ... ok [INFO] [stdout] test distributed_neighbors::tests::test_load_metrics ... ok [INFO] [stdout] test distributed_neighbors::tests::test_worker_registration ... ok [INFO] [stdout] test federated_neighbors::tests::test_federated_coordinator ... ok [INFO] [stdout] test federated_neighbors::tests::test_federated_participant_creation ... ok [INFO] [stdout] test federated_neighbors::tests::test_federated_radius_neighbors ... ok [INFO] [stdout] test federated_neighbors::tests::test_federation_stats ... ok [INFO] [stdout] test federated_neighbors::tests::test_noise_strategies ... ok [INFO] [stdout] test federated_neighbors::tests::test_privacy_budget_exhaustion ... ok [INFO] [stdout] test federated_neighbors::tests::test_privacy_levels ... ok [INFO] [stdout] test gpu_distance::tests::test_different_gpu_backends ... ok [INFO] [stdout] test gpu_distance::tests::test_gpu_config_default ... ok [INFO] [stdout] test gpu_distance::tests::test_gpu_device_detection ... ok [INFO] [stdout] test gpu_distance::tests::test_gpu_distance_calculator_creation ... ok [INFO] [stdout] test gpu_distance::tests::test_gpu_distance_calculator_with_config ... ok [INFO] [stdout] test distance::tests::test_mahalanobis_vs_euclidean_identity ... ok [INFO] [stdout] test gpu_distance::tests::test_gpu_memory_estimator ... ok [INFO] [stdout] test distance::tests::test_covariance_matrix_computation ... ok [INFO] [stdout] test advanced_outliers::tests::test_loci_basic ... ok [INFO] [stdout] test gpu_distance::tests::test_gpu_shape_mismatch_error ... ok [INFO] [stdout] test gpu_distance::tests::test_gpu_pairwise_distances_cpu_fallback ... ok [INFO] [stdout] test gpu_distance::tests::test_gpu_batch_pairwise_distances ... ok [INFO] [stdout] test graph_methods::tests::test_epsilon_graph ... ok [INFO] [stdout] test graph_methods::tests::test_gabriel_graph ... ok [INFO] [stdout] test graph_methods::tests::test_graph_neighbor_search ... ok [INFO] [stdout] test graph_methods::tests::test_graph_statistics ... ok [INFO] [stdout] test graph_methods::tests::test_knn_graph ... ok [INFO] [stdout] test graph_methods::tests::test_relative_neighborhood_graph ... ok [INFO] [stdout] test gpu_distance::tests::test_gpu_kneighbors_search ... ok [INFO] [stdout] test graph_methods::tests::test_mutual_knn_graph ... ok [INFO] [stdout] test incremental_index::tests::test_incremental_index_creation ... ok [INFO] [stdout] test incremental_index::tests::test_batched_updates ... ok [INFO] [stdout] test incremental_index::tests::test_builder_pattern ... ok [INFO] [stdout] test incremental_index::tests::test_incremental_knn_query ... ok [INFO] [stdout] test incremental_index::tests::test_incremental_point_addition ... ok [INFO] [stdout] test incremental_index::tests::test_point_removal ... ok [INFO] [stdout] test incremental_index::tests::test_performance_metrics ... ok [INFO] [stdout] test interpretability::tests::test_explainer_creation ... ok [INFO] [stdout] test interpretability::tests::test_local_importance ... ok [INFO] [stdout] test interpretability::tests::test_multiple_explanations ... ok [INFO] [stdout] test interpretability::tests::test_influence_analysis ... ok [INFO] [stdout] test interpretability::tests::test_prototype_identification ... ok [INFO] [stdout] test interpretability::tests::test_neighbor_weights_calculation ... ok [INFO] [stdout] test interpretability::tests::test_prediction_explanation ... ok [INFO] [stdout] test knn::tests::test_distance_weighted_knn ... ok [INFO] [stdout] test interpretability::tests::test_report_generation ... ok [INFO] [stdout] test knn::tests::test_knn_predict_proba ... ok [INFO] [stdout] test knn::tests::test_knn_classifier_basic ... ok [INFO] [stdout] test knn::tests::test_knn_regressor_with_kdtree ... ok [INFO] [stdout] test knn::tests::test_knn_regressor_basic ... ok [INFO] [stdout] test knn::tests::test_knn_with_cover_tree ... ok [INFO] [stdout] test knn::tests::test_knn_regressor_with_balltree ... ok [INFO] [stdout] test knn::tests::test_knn_with_balltree ... ok [INFO] [stdout] test knn::tests::test_knn_with_kdtree ... ok [INFO] [stdout] test gpu_distance::tests::test_gpu_reset_stats ... ok [INFO] [stdout] test knn::tests::test_knn_with_mahalanobis_distance ... ok [INFO] [stdout] test local_outlier_factor::tests::test_local_outlier_factor_errors ... ok [INFO] [stdout] test local_outlier_factor::tests::test_local_outlier_factor_fit_predict_with_novelty ... ok [INFO] [stdout] test knn::tests::test_knn_with_vp_tree ... ok [INFO] [stdout] test local_outlier_factor::tests::test_local_outlier_factor_basic ... ok [INFO] [stdout] test local_outlier_factor::tests::test_local_outlier_factor_novelty ... ok [INFO] [stdout] test local_outlier_factor::tests::test_local_outlier_factor_predict_without_novelty ... ok [INFO] [stdout] test lsh::tests::test_lsh_index_errors ... ok [INFO] [stdout] test lsh::tests::test_lsh_index_minhash ... ok [INFO] [stdout] test lsh::tests::test_lsh_index_random_projection ... ok [INFO] [stdout] test lsh::tests::test_lsh_kneighbors_classifier ... ok [INFO] [stdout] test manifold_learning::tests::test_laplacian_eigenmaps_rbf ... ok [INFO] [stdout] test manifold_learning::tests::test_laplacian_eigenmaps_basic ... ok [INFO] [stdout] test manifold_learning::tests::test_tsne_neighbors_basic ... ok [INFO] [stdout] test mapreduce_neighbors::tests::test_mapreduce_errors ... ok [INFO] [stdout] test mapreduce_neighbors::tests::test_mapreduce_neighbor_search_basic ... ok [INFO] [stdout] test manifold_learning::tests::test_lle_basic ... ok [INFO] [stdout] test mapreduce_neighbors::tests::test_partition_strategies ... ok [INFO] [stdout] test memory_constrained::tests::test_cache_oblivious_error_cases ... ok [INFO] [stdout] test memory_constrained::tests::test_cache_oblivious_neighbors ... ok [INFO] [stdout] test manifold_learning::tests::test_isomap_basic ... ok [INFO] [stdout] test mapreduce_neighbors::tests::test_reduce_strategies ... ok [INFO] [stdout] test mapreduce_neighbors::tests::test_partition_stats ... ok [INFO] [stdout] test memory_constrained::tests::test_external_memory_error_cases ... ok [INFO] [stdout] test memory_constrained::tests::test_memory_bounded_approximate_neighbors ... ok [INFO] [stdout] test memory_constrained::tests::test_external_memory_knn ... ok [INFO] [stdout] test memory_mapped::tests::test_mmap_without_feature ... ok [INFO] [stdout] test metric_learning::tests::test_itml_with_prior_covariance ... ok [INFO] [stdout] test metric_learning::tests::test_information_theoretic_metric_learning ... ok [INFO] [stdout] test metric_learning::tests::test_metric_learning_error_cases ... ok [INFO] [stdout] test metric_learning::tests::test_nca_basic ... ok [INFO] [stdout] test metric_learning::tests::test_nca_dimensionality_reduction ... ok [INFO] [stdout] test nearest_centroid::tests::test_class_specific_centroid_types ... ok [INFO] [stdout] test nearest_centroid::tests::test_class_specific_distance_metrics ... ok [INFO] [stdout] test nearest_centroid::tests::test_class_specific_shrinkage ... ok [INFO] [stdout] test nearest_centroid::tests::test_geometric_median_centroid ... ok [INFO] [stdout] test nearest_centroid::tests::test_nearest_centroid_basic ... ok [INFO] [stdout] test nearest_centroid::tests::test_nearest_centroid_decision_function ... ok [INFO] [stdout] test nearest_centroid::tests::test_nearest_centroid_empty_input ... ok [INFO] [stdout] test nearest_centroid::tests::test_nearest_centroid_feature_importances ... ok [INFO] [stdout] test nearest_centroid::tests::test_nearest_centroid_shape_mismatch ... ok [INFO] [stdout] test nearest_centroid::tests::test_nearest_centroid_single_class ... ok [INFO] [stdout] test nearest_centroid::tests::test_nearest_centroid_with_shrinkage ... ok [INFO] [stdout] test nearest_centroid::tests::test_nearest_centroid_without_shrinkage ... ok [INFO] [stdout] test nearest_centroid::tests::test_online_centroid_updates ... ok [INFO] [stdout] test nearest_centroid::tests::test_online_new_class ... ok [INFO] [stdout] test nearest_centroid::tests::test_online_summary ... ok [INFO] [stdout] test nearest_centroid::tests::test_partial_fit_shape_mismatch ... ok [INFO] [stdout] test nearest_centroid::tests::test_reset_online_state ... ok [INFO] [stdout] test nearest_centroid::tests::test_sample_removal ... ok [INFO] [stdout] test nearest_centroid::tests::test_sample_removal_error_cases ... ok [INFO] [stdout] test nearest_centroid::tests::test_shrinkage_with_negative_threshold ... ok [INFO] [stdout] test nearest_centroid::tests::test_trimmed_mean_centroid ... ok [INFO] [stdout] test nearest_centroid::tests::test_weighted_mean_centroid ... ok [INFO] [stdout] test nearest_neighbors::tests::test_kneighbors_graph ... ok [INFO] [stdout] test nearest_neighbors::tests::test_nearest_neighbors_basic ... ok [INFO] [stdout] test nearest_neighbors::tests::test_radius_neighbors ... ok [INFO] [stdout] test nearest_neighbors::tests::test_radius_neighbors_graph ... ok [INFO] [stdout] test nlp::tests::test_document_similarity_search ... ok [INFO] [stdout] test nlp::tests::test_ngram_generation ... ok [INFO] [stdout] test nlp::tests::test_sentence_similarity_search ... ok [INFO] [stdout] test nlp::tests::test_text_preprocessor ... ok [INFO] [stdout] test nlp::tests::test_tfidf_extractor ... ok [INFO] [stdout] test nlp::tests::test_vocabulary_building ... ok [INFO] [stdout] test nlp::tests::test_word_embedding_search ... ok [INFO] [stdout] test parallel_tree::tests::test_memory_usage_estimation ... ok [INFO] [stdout] test parallel_tree::tests::test_parallel_tree_builder ... ok [INFO] [stdout] test parallel_tree::tests::test_parallel_tree_creation ... ok [INFO] [stdout] test parallel_tree::tests::test_parallel_tree_query ... ok [INFO] [stdout] test parallel_tree::tests::test_work_unit ... ok [INFO] [stdout] test performance::tests::test_benchmark_builder_pattern ... ok [INFO] [stdout] test performance::tests::test_benchmark_config_creation ... ok [INFO] [stdout] test performance::tests::test_benchmark_report_generation ... ok [INFO] [stdout] test metric_learning::tests::test_lmnn_basic ... ok [INFO] [stdout] test performance::tests::test_performance_metrics_creation ... ok [INFO] [stdout] test performance::tests::test_benchmark_small_run ... ok [INFO] [stdout] test performance::tests::test_performance_metrics_throughput ... ok [INFO] [stdout] test performance::tests::test_profiler_start_stop ... ok [INFO] [stdout] test performance::tests::test_quick_profiler ... ok [INFO] [stdout] test metric_learning::tests::test_enhanced_lmnn_configurations ... ok [INFO] [stdout] test metric_learning::tests::test_enhanced_lmnn ... ok [INFO] [stdout] test gpu_distance::tests::test_gpu_stats_tracking ... ok [INFO] [stdout] test property_tests::test_knn_classifier_predictions_valid ... ok [INFO] [stdout] test property_tests::test_knn_perfect_prediction_on_self ... ok [INFO] [stdout] test property_tests::tests::test_property_test_setup ... ok [INFO] [stdout] test radius_neighbors::tests::test_adaptive_radius_neighbors_classifier_adaptive ... ok [INFO] [stdout] test radius_neighbors::tests::test_adaptive_radius_neighbors_classifier_fixed ... ok [INFO] [stdout] test radius_neighbors::tests::test_adaptive_radius_neighbors_errors ... ok [INFO] [stdout] test radius_neighbors::tests::test_adaptive_radius_neighbors_regressor_adaptive ... ok [INFO] [stdout] test radius_neighbors::tests::test_adaptive_radius_neighbors_regressor_fixed ... ok [INFO] [stdout] test radius_neighbors::tests::test_radius_neighbors_classifier ... ok [INFO] [stdout] test radius_neighbors::tests::test_radius_neighbors_function ... ok [INFO] [stdout] test radius_neighbors::tests::test_radius_neighbors_no_neighbors ... ok [INFO] [stdout] test radius_neighbors::tests::test_radius_neighbors_regressor ... ok [INFO] [stdout] test radius_neighbors::tests::test_radius_neighbors_with_outlier_label ... ok [INFO] [stdout] test radius_neighbors::tests::test_radius_strategy ... ok [INFO] [stdout] test simd_distance::tests::test_batch_euclidean_distances ... ok [INFO] [stdout] test simd_distance::tests::test_cosine_distance_simd_vs_scalar ... ok [INFO] [stdout] test simd_distance::tests::test_cosine_distance_zero_norm_error ... ok [INFO] [stdout] test simd_distance::tests::test_euclidean_distance_simd_vs_scalar ... ok [INFO] [stdout] test simd_distance::tests::test_manhattan_distance_simd_vs_scalar ... ok [INFO] [stdout] test simd_distance::tests::test_shape_mismatch_error ... ok [INFO] [stdout] test simd_distance::tests::test_simd_capability_detection ... ok [INFO] [stdout] test simd_distance::tests::test_small_vector_fallback ... ok [INFO] [stdout] test sparse_neighbors::tests::test_different_index_types ... ok [INFO] [stdout] test sparse_neighbors::tests::test_sparse_neighbor_builder ... ok [INFO] [stdout] test sparse_neighbors::tests::test_sparse_neighbor_matrix_csr ... ok [INFO] [stdout] test sparse_neighbors::tests::test_sparse_neighbor_matrix_hashmap ... ok [INFO] [stdout] test sparse_neighbors::tests::test_sparse_neighbor_matrix_to_dense ... ok [INFO] [stdout] test sparse_neighbors::tests::test_sparse_statistics ... ok [INFO] [stdout] test spatial::oct_tree_tests::test_octpoint_creation ... ok [INFO] [stdout] test spatial::oct_tree_tests::test_octree_construction ... ok [INFO] [stdout] test spatial::oct_tree_tests::test_octree_empty_input ... ok [INFO] [stdout] test spatial::oct_tree_tests::test_octree_invalid_dimensions ... ok [INFO] [stdout] test spatial::oct_tree_tests::test_octree_knn_query ... ok [INFO] [stdout] test spatial::oct_tree_tests::test_octree_range_query ... ok [INFO] [stdout] test spatial::spatial_hash_tests::test_spatial_hash_3d ... ok [INFO] [stdout] test spatial::spatial_hash_tests::test_spatial_hash_approximate_neighbors ... ok [INFO] [stdout] test spatial::spatial_hash_tests::test_spatial_hash_creation ... ok [INFO] [stdout] test spatial::spatial_hash_tests::test_spatial_hash_dimension_mismatch ... ok [INFO] [stdout] test spatial::spatial_hash_tests::test_spatial_hash_empty_input ... ok [INFO] [stdout] test spatial::spatial_hash_tests::test_spatial_hash_from_data ... ok [INFO] [stdout] test spatial::spatial_hash_tests::test_spatial_hash_invalid_cell_size ... ok [INFO] [stdout] test spatial::spatial_hash_tests::test_spatial_hash_radius_neighbors ... ok [INFO] [stdout] test spatial::spatial_hash_tests::test_spatial_hash_stats ... ok [INFO] [stdout] test spatial::tests::test_quadtree_basic ... ok [INFO] [stdout] test spatial::tests::test_rectangle_distance_functions ... ok [INFO] [stdout] test spatial::tests::test_rectangle_operations ... ok [INFO] [stdout] test spatial::tests::test_rtree_basic ... ok [INFO] [stdout] test specialized_distances::tests::test_bhattacharyya_distance ... ok [INFO] [stdout] test specialized_distances::tests::test_categorical_distances ... ok [INFO] [stdout] test specialized_distances::tests::test_graph_distances ... ok [INFO] [stdout] test specialized_distances::tests::test_probabilistic_distances ... ok [INFO] [stdout] test specialized_distances::tests::test_set_distances ... ok [INFO] [stdout] test specialized_distances::tests::test_set_distances_binary ... ok [INFO] [stdout] test specialized_distances::tests::test_string_distances ... ok [INFO] [stdout] test streaming::tests::test_incremental_errors ... ok [INFO] [stdout] test streaming::tests::test_incremental_knn_classifier ... ok [INFO] [stdout] test streaming::tests::test_incremental_knn_regressor ... ok [INFO] [stdout] test streaming::tests::test_memory_overflow ... ok [INFO] [stdout] test streaming::tests::test_memory_strategies ... ok [INFO] [stdout] test time_series_neighbors::tests::test_dtw_alignment_path ... ok [INFO] [stdout] test time_series_neighbors::tests::test_dtw_distance_basic ... ok [INFO] [stdout] test time_series_neighbors::tests::test_dtw_distance_with_window ... ok [INFO] [stdout] test time_series_neighbors::tests::test_dtw_empty_series ... ok [INFO] [stdout] test time_series_neighbors::tests::test_dtw_step_patterns ... ok [INFO] [stdout] test time_series_neighbors::tests::test_shapelet_best_match ... ok [INFO] [stdout] test time_series_neighbors::tests::test_shapelet_creation ... ok [INFO] [stdout] test time_series_neighbors::tests::test_shapelet_discovery ... ok [INFO] [stdout] test time_series_neighbors::tests::test_streaming_buffer_management ... ok [INFO] [stdout] test time_series_neighbors::tests::test_streaming_neighbors_with_window ... ok [INFO] [stdout] test time_series_neighbors::tests::test_streaming_time_series_neighbors ... ok [INFO] [stdout] test time_series_neighbors::tests::test_subsequence_search ... ok [INFO] [stdout] test time_series_neighbors::tests::test_temporal_neighbor_search ... ok [INFO] [stdout] test time_series_neighbors::tests::test_temporal_neighbor_search_with_window ... ok [INFO] [stdout] test transformers::tests::test_kneighbors_transformer ... ok [INFO] [stdout] test transformers::tests::test_kneighbors_transformer_distance_mode ... ok [INFO] [stdout] test transformers::tests::test_radius_neighbors_transformer ... ok [INFO] [stdout] test transformers::tests::test_radius_neighbors_transformer_distance_mode ... ok [INFO] [stdout] test transformers::tests::test_transformers_empty_input ... ok [INFO] [stdout] test transformers::tests::test_transformers_invalid_parameters ... ok [INFO] [stdout] test tree::ball_tree::tests::test_balltree_construction ... ok [INFO] [stdout] test tree::ball_tree::tests::test_balltree_empty_input ... ok [INFO] [stdout] test tree::ball_tree::tests::test_balltree_kneighbors ... ok [INFO] [stdout] test tree::ball_tree::tests::test_balltree_radius_neighbors ... ok [INFO] [stdout] test tree::ball_tree::tests::test_balltree_shape_mismatch ... ok [INFO] [stdout] test tree::ball_tree::tests::test_balltree_single_point ... ok [INFO] [stdout] test tree::ball_tree::tests::test_balltree_with_leaf_size ... ok [INFO] [stdout] test tree::cover_tree::tests::test_cover_tree_construction ... ok [INFO] [stdout] test tree::cover_tree::tests::test_cover_tree_different_metrics ... ok [INFO] [stdout] test tree::cover_tree::tests::test_cover_tree_empty_data ... ok [INFO] [stdout] test property_tests::test_knn_regressor_perfect_prediction_on_self ... ok [INFO] [stdout] test property_tests::test_knn_classifier_probability_properties ... ok [INFO] [stdout] test tree::cover_tree::tests::test_cover_tree_kneighbors ... ok [INFO] [stdout] test tree::cover_tree::tests::test_cover_tree_single_point ... ok [INFO] [stdout] test tree::cover_tree::tests::test_cover_tree_stats ... ok [INFO] [stdout] test tree::kd_tree::tests::test_kdtree_construction ... ok [INFO] [stdout] test tree::kd_tree::tests::test_kdtree_empty_input ... ok [INFO] [stdout] test tree::kd_tree::tests::test_kdtree_invalid_metric ... ok [INFO] [stdout] test tree::kd_tree::tests::test_kdtree_kneighbors ... ok [INFO] [stdout] test tree::kd_tree::tests::test_kdtree_radius_neighbors ... ok [INFO] [stdout] test tree::kd_tree::tests::test_kdtree_shape_mismatch ... ok [INFO] [stdout] test tree::kd_tree::tests::test_kdtree_single_point ... ok [INFO] [stdout] test tree::vp_tree::tests::test_vp_tree_construction ... ok [INFO] [stdout] test tree::vp_tree::tests::test_vp_tree_empty_input ... ok [INFO] [stdout] test tree::vp_tree::tests::test_vp_tree_invalid_k ... ok [INFO] [stdout] test tree::vp_tree::tests::test_vp_tree_kneighbors ... ok [INFO] [stdout] test tree::vp_tree::tests::test_vp_tree_radius_neighbors ... ok [INFO] [stdout] test tree::vp_tree::tests::test_vp_tree_single_point ... ok [INFO] [stdout] test tree::vp_tree::tests::test_vp_tree_with_different_metrics ... ok [INFO] [stdout] test tree::cover_tree::tests::test_cover_tree_large_k ... ok [INFO] [stdout] test property_tests::test_knn_regressor_predictions_finite ... ok [INFO] [stdout] test property_tests::test_knn_different_distances_same_shape ... ok [INFO] [stdout] test comprehensive_tests::tests::test_robustness_framework ... ok [INFO] [stdout] test comprehensive_tests::tests::test_enhanced_distance_properties ... ok [INFO] [stdout] test comprehensive_tests::tests::test_scalability_framework ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 356 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.17s [INFO] [stdout] [INFO] [stderr] Doc-tests sklears_neighbors [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test src/bioinformatics.rs - bioinformatics (line 18) ... ok [INFO] [stdout] test src/computer_vision.rs - computer_vision (line 18) ... ok [INFO] [stdout] test src/nlp.rs - nlp (line 18) ... ok [INFO] [stdout] test src/lib.rs - (line 12) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.66s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b07ba0d6ad05bff8eef38ee4f2bccf03ccaa8fa5d510dd9878ce92cb4982f4ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b07ba0d6ad05bff8eef38ee4f2bccf03ccaa8fa5d510dd9878ce92cb4982f4ef", kill_on_drop: false }` [INFO] [stdout] b07ba0d6ad05bff8eef38ee4f2bccf03ccaa8fa5d510dd9878ce92cb4982f4ef