[INFO] cloning repository https://github.com/fastann/fastann [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fastann/fastann" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffastann%2Ffastann", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffastann%2Ffastann'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4b9318566e717fc846616290548131c60c8002a9 [INFO] checking fastann/fastann against master#9503ea19edbf01b9435e80e17d60ce1b88390116 for pr-81782 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffastann%2Ffastann" "/workspace/builds/worker-5/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/fastann/fastann on toolchain 9503ea19edbf01b9435e80e17d60ce1b88390116 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/fastann/fastann [INFO] finished tweaking git repo https://github.com/fastann/fastann [INFO] tweaked toml for git repo https://github.com/fastann/fastann written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/fastann/fastann already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "rustops/crates-build-env@sha256:21f1ed92105a0ef9b0d27ad8bdeb7f36f9f01ac17fffe3a3f3dc5241fc25d8f4" "/opt/rustwide/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 8da3c01acfe5098878369485d2e0f1df891d4d6039439c3ff456b96d2ad6e45b [INFO] running `Command { std: "docker" "start" "-a" "8da3c01acfe5098878369485d2e0f1df891d4d6039439c3ff456b96d2ad6e45b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8da3c01acfe5098878369485d2e0f1df891d4d6039439c3ff456b96d2ad6e45b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8da3c01acfe5098878369485d2e0f1df891d4d6039439c3ff456b96d2ad6e45b", kill_on_drop: false }` [INFO] [stdout] 8da3c01acfe5098878369485d2e0f1df891d4d6039439c3ff456b96d2ad6e45b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:21f1ed92105a0ef9b0d27ad8bdeb7f36f9f01ac17fffe3a3f3dc5241fc25d8f4" "/opt/rustwide/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 396b71f183db25d7df8e0e6edd4b028e5cd8321f9bbec31d5b1e4d2278913163 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "396b71f183db25d7df8e0e6edd4b028e5cd8321f9bbec31d5b1e4d2278913163", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling libc v0.2.86 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking adler v0.2.3 [INFO] [stderr] Checking rustc-demangle v0.1.18 [INFO] [stderr] Checking smallvec v1.6.1 [INFO] [stderr] Compiling symbolic-demangle v8.0.3 [INFO] [stderr] Checking gimli v0.23.0 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking bytemuck v1.5.1 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking object v0.23.0 [INFO] [stderr] Checking str_stack v0.1.0 [INFO] [stderr] Compiling pprof v0.4.2 [INFO] [stderr] Compiling cpp_demangle v0.3.2 [INFO] [stderr] Checking debugid v0.7.2 [INFO] [stderr] Checking instant v0.1.9 [INFO] [stderr] Checking lock_api v0.4.2 [INFO] [stderr] Checking rgb v0.8.25 [INFO] [stderr] Checking log v0.4.14 [INFO] [stderr] Checking quick-xml v0.20.0 [INFO] [stderr] Compiling ahash v0.6.3 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling crossbeam-utils v0.8.2 [INFO] [stderr] Compiling memoffset v0.6.1 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling indexmap v1.6.1 [INFO] [stderr] Compiling num-bigint v0.3.1 [INFO] [stderr] Compiling miniz_oxide v0.4.3 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling rayon v1.5.0 [INFO] [stderr] Checking num-format v0.4.0 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling syn v1.0.60 [INFO] [stderr] Checking crossbeam-epoch v0.9.2 [INFO] [stderr] Checking crossbeam-channel v0.5.0 [INFO] [stderr] Checking crossbeam-deque v0.8.0 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking parking_lot_core v0.8.3 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking terminal_size v0.1.16 [INFO] [stderr] Checking nix v0.19.1 [INFO] [stderr] Checking num-complex v0.3.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking prgrs v0.6.4 [INFO] [stderr] Checking rand_core v0.6.2 [INFO] [stderr] Checking symbolic-common v8.0.3 [INFO] [stderr] Checking addr2line v0.14.1 [INFO] [stderr] Checking rayon-core v1.9.0 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand_chacha v0.3.0 [INFO] [stderr] Checking inferno v0.10.3 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking rand v0.8.3 [INFO] [stderr] Checking backtrace v0.3.56 [INFO] [stderr] Checking tempfile v3.2.0 [INFO] [stderr] Compiling thiserror-impl v1.0.24 [INFO] [stderr] Checking num v0.3.1 [INFO] [stderr] Checking thiserror v1.0.24 [INFO] [stderr] Checking fastann v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `pq::pq::PQIndex` [INFO] [stdout] --> src/bench/bench.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use pq::pq::PQIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `writeln` [INFO] [stdout] --> src/bench/bench.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use prgrs::{writeln, Length, Prgrs}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Alphanumeric`, `StandardNormal`, `Uniform` [INFO] [stdout] --> src/bench/bench.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::seq::SliceRandom` [INFO] [stdout] --> src/bench/bench.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use rand::seq::SliceRandom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/bench/bench.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UNIX_EPOCH` [INFO] [stdout] --> src/bench/bench.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/bench/bench.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | let normal = Normal::new(0.0, (range / 50.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bench/bench.rs:92:30 [INFO] [stdout] | [INFO] [stdout] 92 | let mut indices: Vec>> = vec![bpforest_idx]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ANNIndex` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bench/bench.rs:191:16 [INFO] [stdout] | [INFO] [stdout] 191 | if (idx % 100000 == 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bench/bench.rs:221:30 [INFO] [stdout] | [INFO] [stdout] 221 | let mut indices: Vec>> = vec![bf_idx, bpforest_idx]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ANNIndex` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Reverse` [INFO] [stdout] --> src/bf/bf.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use core::cmp::Reverse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Ordering` [INFO] [stdout] --> src/bpforest/bpforest.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use core::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/bpforest/bpforest.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::node` [INFO] [stdout] --> src/core/arguments.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::core::node; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::fmt` [INFO] [stdout] --> src/core/heap.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::fmt; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/core/heap.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use core::mem::{self, swap, ManuallyDrop}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::metrics::manhattan_distance` [INFO] [stdout] --> src/core/node.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::core::metrics::manhattan_distance; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::fmt::Display` [INFO] [stdout] --> src/core/node.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ann_index::ANNIndex` [INFO] [stdout] --> src/hnsw/hnsw.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use ann_index::ANNIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/pq/pq.rs:385:15 [INFO] [stdout] | [INFO] [stdout] 385 | while (!ret.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::StandardNormal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:12:41 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::Normal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:13:41 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::distributions::{Distribution, Normal}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::Normal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:37:18 [INFO] [stdout] | [INFO] [stdout] 37 | let normal = Normal::new(0.0, (range / 50.0)); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::StandardNormal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:12:41 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pq::pq::PQIndex` [INFO] [stdout] --> src/bench/bench.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use pq::pq::PQIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `writeln` [INFO] [stdout] --> src/bench/bench.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use prgrs::{writeln, Length, Prgrs}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Alphanumeric`, `StandardNormal`, `Uniform` [INFO] [stdout] --> src/bench/bench.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::seq::SliceRandom` [INFO] [stdout] --> src/bench/bench.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use rand::seq::SliceRandom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/bench/bench.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UNIX_EPOCH` [INFO] [stdout] --> src/bench/bench.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/bench/bench.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | let normal = Normal::new(0.0, (range / 50.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bench/bench.rs:92:30 [INFO] [stdout] | [INFO] [stdout] 92 | let mut indices: Vec>> = vec![bpforest_idx]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ANNIndex` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bench/bench.rs:191:16 [INFO] [stdout] | [INFO] [stdout] 191 | if (idx % 100000 == 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bench/bench.rs:221:30 [INFO] [stdout] | [INFO] [stdout] 221 | let mut indices: Vec>> = vec![bf_idx, bpforest_idx]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ANNIndex` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Reverse` [INFO] [stdout] --> src/bf/bf.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use core::cmp::Reverse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Ordering` [INFO] [stdout] --> src/bpforest/bpforest.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use core::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/bpforest/bpforest.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::node` [INFO] [stdout] --> src/core/arguments.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::core::node; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::fmt` [INFO] [stdout] --> src/core/heap.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::fmt; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/core/heap.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use core::mem::{self, swap, ManuallyDrop}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::metrics::manhattan_distance` [INFO] [stdout] --> src/core/node.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::core::metrics::manhattan_distance; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::fmt::Display` [INFO] [stdout] --> src/core/node.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ann_index::ANNIndex` [INFO] [stdout] --> src/hnsw/hnsw.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use ann_index::ANNIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/pq/pq.rs:385:15 [INFO] [stdout] | [INFO] [stdout] 385 | while (!ret.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::StandardNormal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:12:41 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::Normal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:13:41 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::distributions::{Distribution, Normal}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::Normal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:37:18 [INFO] [stdout] | [INFO] [stdout] 37 | let normal = Normal::new(0.0, (range / 50.0)); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::StandardNormal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:12:41 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/bench/bench.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::distributions::{Distribution, Normal}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/bench/bench.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | for i in 0..clustering_n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | for i in 0..dimension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | for i in 0..node_n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hnsw_idx` [INFO] [stdout] --> src/bench/bench.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hnsw_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pq_idx` [INFO] [stdout] --> src/bench/bench.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pq_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | for i in Prgrs::new(0..test_time, 1000).set_length_move(Length::Proportional(0.5)) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hnsw_idx` [INFO] [stdout] --> src/bench/bench.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hnsw_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pq_idx` [INFO] [stdout] --> src/bench/bench.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pq_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | for i in 0..K { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/bf/bf.rs:35:31 [INFO] [stdout] | [INFO] [stdout] 35 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xp` [INFO] [stdout] --> src/bf/bf.rs:51:21 [INFO] [stdout] | [INFO] [stdout] 51 | let xp = heap.pop().unwrap(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_xp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/bf/bf.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bf/bf.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bf/bf.rs:92:20 [INFO] [stdout] | [INFO] [stdout] 92 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bpforest/bpforest.rs:287:17 [INFO] [stdout] | [INFO] [stdout] 287 | for i in 0..diff { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bpforest/bpforest.rs:372:13 [INFO] [stdout] | [INFO] [stdout] 372 | for i in 0..ATTEMPT { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/bpforest/bpforest.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/bpforest/bpforest.rs:550:17 [INFO] [stdout] | [INFO] [stdout] 550 | Err(e) => random::flip(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/bpforest/bpforest.rs:610:9 [INFO] [stdout] | [INFO] [stdout] 610 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bpforest/bpforest.rs:615:20 [INFO] [stdout] | [INFO] [stdout] 615 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bpforest/bpforest.rs:619:20 [INFO] [stdout] | [INFO] [stdout] 619 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/bpforest/bpforest.rs:623:31 [INFO] [stdout] | [INFO] [stdout] 623 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `search_range` [INFO] [stdout] --> src/hnsw/hnsw.rs:402:13 [INFO] [stdout] | [INFO] [stdout] 402 | let search_range = if self._ef_default > k { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_search_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/hnsw/hnsw.rs:428:13 [INFO] [stdout] | [INFO] [stdout] 428 | for i in 0..cur_level { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/hnsw/hnsw.rs:529:29 [INFO] [stdout] | [INFO] [stdout] 529 | fn construct(&mut self, mt: metrics::Metric) -> Result<(), &'static str> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/hnsw/hnsw.rs:543:9 [INFO] [stdout] | [INFO] [stdout] 543 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/hnsw/hnsw.rs:565:20 [INFO] [stdout] | [INFO] [stdout] 565 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/hnsw/hnsw.rs:569:20 [INFO] [stdout] | [INFO] [stdout] 569 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/hnsw/hnsw.rs:573:31 [INFO] [stdout] | [INFO] [stdout] 573 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | for i in 0..demension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | for i in 0..n_center { [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/pq/pq.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | for j in 0..demension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | for i in 0..n_center { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `demension` [INFO] [stdout] --> src/pq/pq.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | let demension = self._demension; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_demension` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/pq/pq.rs:362:29 [INFO] [stdout] | [INFO] [stdout] 362 | fn construct(&mut self, mt: metrics::Metric) -> Result<(), &'static str> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/pq/pq.rs:380:9 [INFO] [stdout] | [INFO] [stdout] 380 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/pq/pq.rs:402:20 [INFO] [stdout] | [INFO] [stdout] 402 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/pq/pq.rs:406:20 [INFO] [stdout] | [INFO] [stdout] 406 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/pq/pq.rs:410:31 [INFO] [stdout] | [INFO] [stdout] 410 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let mut bpforest_idx = Box::new( [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let mut accuracy = Arc::new(Mutex::new(Vec::new())); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let mut cost = Arc::new(Mutex::new(Vec::new())); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | let mut base_cost = Arc::new(Mutex::new(Duration::default())); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | let mut bf_idx = Box::new(bf::bf::BruteForceIndex::::new()); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | let mut bpforest_idx = [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:235:17 [INFO] [stdout] | [INFO] [stdout] 235 | let mut result = idx.search_k(&train_data[*w as usize], 10); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let mut result = idx.search_k(&train_data[*w as usize], 10); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/bench/bench.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::distributions::{Distribution, Normal}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/bench/bench.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | for i in 0..clustering_n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | for i in 0..dimension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | for i in 0..node_n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hnsw_idx` [INFO] [stdout] --> src/bench/bench.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hnsw_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pq_idx` [INFO] [stdout] --> src/bench/bench.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pq_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | for i in Prgrs::new(0..test_time, 1000).set_length_move(Length::Proportional(0.5)) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hnsw_idx` [INFO] [stdout] --> src/bench/bench.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hnsw_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pq_idx` [INFO] [stdout] --> src/bench/bench.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pq_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | for i in 0..K { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/bf/bf.rs:35:31 [INFO] [stdout] | [INFO] [stdout] 35 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xp` [INFO] [stdout] --> src/bf/bf.rs:51:21 [INFO] [stdout] | [INFO] [stdout] 51 | let xp = heap.pop().unwrap(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_xp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/bf/bf.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bf/bf.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bf/bf.rs:92:20 [INFO] [stdout] | [INFO] [stdout] 92 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bpforest/bpforest.rs:287:17 [INFO] [stdout] | [INFO] [stdout] 287 | for i in 0..diff { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bpforest/bpforest.rs:372:13 [INFO] [stdout] | [INFO] [stdout] 372 | for i in 0..ATTEMPT { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/bpforest/bpforest.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/bpforest/bpforest.rs:550:17 [INFO] [stdout] | [INFO] [stdout] 550 | Err(e) => random::flip(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/bpforest/bpforest.rs:610:9 [INFO] [stdout] | [INFO] [stdout] 610 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bpforest/bpforest.rs:615:20 [INFO] [stdout] | [INFO] [stdout] 615 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bpforest/bpforest.rs:619:20 [INFO] [stdout] | [INFO] [stdout] 619 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/bpforest/bpforest.rs:623:31 [INFO] [stdout] | [INFO] [stdout] 623 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `search_range` [INFO] [stdout] --> src/hnsw/hnsw.rs:402:13 [INFO] [stdout] | [INFO] [stdout] 402 | let search_range = if self._ef_default > k { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_search_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/hnsw/hnsw.rs:428:13 [INFO] [stdout] | [INFO] [stdout] 428 | for i in 0..cur_level { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/hnsw/hnsw.rs:529:29 [INFO] [stdout] | [INFO] [stdout] 529 | fn construct(&mut self, mt: metrics::Metric) -> Result<(), &'static str> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/hnsw/hnsw.rs:543:9 [INFO] [stdout] | [INFO] [stdout] 543 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/hnsw/hnsw.rs:565:20 [INFO] [stdout] | [INFO] [stdout] 565 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/hnsw/hnsw.rs:569:20 [INFO] [stdout] | [INFO] [stdout] 569 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/hnsw/hnsw.rs:573:31 [INFO] [stdout] | [INFO] [stdout] 573 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | for i in 0..demension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | for i in 0..n_center { [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/pq/pq.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | for j in 0..demension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | for i in 0..n_center { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `demension` [INFO] [stdout] --> src/pq/pq.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | let demension = self._demension; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_demension` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/pq/pq.rs:362:29 [INFO] [stdout] | [INFO] [stdout] 362 | fn construct(&mut self, mt: metrics::Metric) -> Result<(), &'static str> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/pq/pq.rs:380:9 [INFO] [stdout] | [INFO] [stdout] 380 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/pq/pq.rs:402:20 [INFO] [stdout] | [INFO] [stdout] 402 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/pq/pq.rs:406:20 [INFO] [stdout] | [INFO] [stdout] 406 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/pq/pq.rs:410:31 [INFO] [stdout] | [INFO] [stdout] 410 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let mut bpforest_idx = Box::new( [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let mut accuracy = Arc::new(Mutex::new(Vec::new())); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let mut cost = Arc::new(Mutex::new(Vec::new())); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | let mut base_cost = Arc::new(Mutex::new(Duration::default())); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | let mut bf_idx = Box::new(bf::bf::BruteForceIndex::::new()); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | let mut bpforest_idx = [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:235:17 [INFO] [stdout] | [INFO] [stdout] 235 | let mut result = idx.search_k(&train_data[*w as usize], 10); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let mut result = idx.search_k(&train_data[*w as usize], 10); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | let elt = unsafe { ptr::read(data.get_unchecked(pos)) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | unsafe { self.data.get_unchecked(index) } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_lines` [INFO] [stdout] --> src/bench/bench.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn read_lines

(filename: P) -> io::Result>> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_with_vectors` [INFO] [stdout] --> src/bpforest/bpforest.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | fn new_with_vectors(_v: &[E]) -> Leaf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `copy` [INFO] [stdout] --> src/bpforest/bpforest.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | fn copy(dst: &mut Leaf, src: &Leaf) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_literal` [INFO] [stdout] --> src/bpforest/bpforest.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn get_literal(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `clear` [INFO] [stdout] --> src/bpforest/bpforest.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 231 | fn clear(&mut self) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_distance` [INFO] [stdout] --> src/bpforest/bpforest.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | fn get_distance(&self, i: i32, j: i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_tot_items_cnt` [INFO] [stdout] --> src/bpforest/bpforest.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | fn get_tot_items_cnt(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_n_tree` [INFO] [stdout] --> src/bpforest/bpforest.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | fn get_n_tree(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_leaf_mut` [INFO] [stdout] --> src/bpforest/bpforest.rs:258:8 [INFO] [stdout] | [INFO] [stdout] 258 | fn get_leaf_mut(&mut self, i: i32) -> &mut Leaf { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | let elt = unsafe { ptr::read(data.get_unchecked(pos)) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | unsafe { self.data.get_unchecked(index) } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_lines` [INFO] [stdout] --> src/bench/bench.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn read_lines

(filename: P) -> io::Result>> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_with_vectors` [INFO] [stdout] --> src/bpforest/bpforest.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | fn new_with_vectors(_v: &[E]) -> Leaf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `copy` [INFO] [stdout] --> src/bpforest/bpforest.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | fn copy(dst: &mut Leaf, src: &Leaf) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_literal` [INFO] [stdout] --> src/bpforest/bpforest.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn get_literal(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `clear` [INFO] [stdout] --> src/bpforest/bpforest.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 231 | fn clear(&mut self) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_distance` [INFO] [stdout] --> src/bpforest/bpforest.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | fn get_distance(&self, i: i32, j: i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_tot_items_cnt` [INFO] [stdout] --> src/bpforest/bpforest.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | fn get_tot_items_cnt(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_n_tree` [INFO] [stdout] --> src/bpforest/bpforest.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | fn get_n_tree(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_leaf_mut` [INFO] [stdout] --> src/bpforest/bpforest.rs:258:8 [INFO] [stdout] | [INFO] [stdout] 258 | fn get_leaf_mut(&mut self, i: i32) -> &mut Leaf { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bench/bench.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | idx.add_node(&core::node::Node::::new_with_idx(&embs[i], i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bench/bench.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | idx.add_node(&core::node::Node::::new_with_idx(&embs[i], i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 90 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 90 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pq::pq::PQIndex` [INFO] [stdout] --> src/bench/bench.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use pq::pq::PQIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `writeln` [INFO] [stdout] --> src/bench/bench.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use prgrs::{writeln, Length, Prgrs}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Alphanumeric`, `StandardNormal`, `Uniform` [INFO] [stdout] --> src/bench/bench.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::seq::SliceRandom` [INFO] [stdout] --> src/bench/bench.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use rand::seq::SliceRandom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/bench/bench.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UNIX_EPOCH` [INFO] [stdout] --> src/bench/bench.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/bench/bench.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | let normal = Normal::new(0.0, (range / 50.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bench/bench.rs:92:30 [INFO] [stdout] | [INFO] [stdout] 92 | let mut indices: Vec>> = vec![bpforest_idx]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ANNIndex` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bench/bench.rs:191:16 [INFO] [stdout] | [INFO] [stdout] 191 | if (idx % 100000 == 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bench/bench.rs:221:30 [INFO] [stdout] | [INFO] [stdout] 221 | let mut indices: Vec>> = vec![bf_idx, bpforest_idx]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ANNIndex` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Reverse` [INFO] [stdout] --> src/bf/bf.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use core::cmp::Reverse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Ordering` [INFO] [stdout] --> src/bpforest/bpforest.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use core::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/bpforest/bpforest.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::node` [INFO] [stdout] --> src/core/arguments.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::core::node; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::fmt` [INFO] [stdout] --> src/core/heap.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::fmt; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/core/heap.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use core::mem::{self, swap, ManuallyDrop}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::metrics::manhattan_distance` [INFO] [stdout] --> src/core/node.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::core::metrics::manhattan_distance; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::fmt::Display` [INFO] [stdout] --> src/core/node.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ann_index::ANNIndex` [INFO] [stdout] --> src/hnsw/hnsw.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use ann_index::ANNIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/pq/pq.rs:385:15 [INFO] [stdout] | [INFO] [stdout] 385 | while (!ret.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::StandardNormal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:12:41 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::Normal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:13:41 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::distributions::{Distribution, Normal}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::Normal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:37:18 [INFO] [stdout] | [INFO] [stdout] 37 | let normal = Normal::new(0.0, (range / 50.0)); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::StandardNormal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:12:41 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pq::pq::PQIndex` [INFO] [stdout] --> src/bench/bench.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use pq::pq::PQIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `writeln` [INFO] [stdout] --> src/bench/bench.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use prgrs::{writeln, Length, Prgrs}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Alphanumeric`, `StandardNormal`, `Uniform` [INFO] [stdout] --> src/bench/bench.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::seq::SliceRandom` [INFO] [stdout] --> src/bench/bench.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use rand::seq::SliceRandom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/bench/bench.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UNIX_EPOCH` [INFO] [stdout] --> src/bench/bench.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/bench/bench.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | let normal = Normal::new(0.0, (range / 50.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bench/bench.rs:92:30 [INFO] [stdout] | [INFO] [stdout] 92 | let mut indices: Vec>> = vec![bpforest_idx]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ANNIndex` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bench/bench.rs:191:16 [INFO] [stdout] | [INFO] [stdout] 191 | if (idx % 100000 == 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bench/bench.rs:221:30 [INFO] [stdout] | [INFO] [stdout] 221 | let mut indices: Vec>> = vec![bf_idx, bpforest_idx]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ANNIndex` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Reverse` [INFO] [stdout] --> src/bf/bf.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use core::cmp::Reverse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Ordering` [INFO] [stdout] --> src/bpforest/bpforest.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use core::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/bpforest/bpforest.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::node` [INFO] [stdout] --> src/core/arguments.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::core::node; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::fmt` [INFO] [stdout] --> src/core/heap.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::fmt; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/core/heap.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use core::mem::{self, swap, ManuallyDrop}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::metrics::manhattan_distance` [INFO] [stdout] --> src/core/node.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::core::metrics::manhattan_distance; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::fmt::Display` [INFO] [stdout] --> src/core/node.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ann_index::ANNIndex` [INFO] [stdout] --> src/hnsw/hnsw.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use ann_index::ANNIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/pq/pq.rs:385:15 [INFO] [stdout] | [INFO] [stdout] 385 | while (!ret.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::StandardNormal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:12:41 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::Normal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:13:41 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::distributions::{Distribution, Normal}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::Normal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:37:18 [INFO] [stdout] | [INFO] [stdout] 37 | let normal = Normal::new(0.0, (range / 50.0)); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `rand::distributions::StandardNormal`: moved to rand_distr crate [INFO] [stdout] --> src/bench/bench.rs:12:41 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::distributions::{Alphanumeric, StandardNormal, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/bench/bench.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::distributions::{Distribution, Normal}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/bench/bench.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | for i in 0..clustering_n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | for i in 0..dimension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | for i in 0..node_n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hnsw_idx` [INFO] [stdout] --> src/bench/bench.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hnsw_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pq_idx` [INFO] [stdout] --> src/bench/bench.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pq_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | for i in Prgrs::new(0..test_time, 1000).set_length_move(Length::Proportional(0.5)) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hnsw_idx` [INFO] [stdout] --> src/bench/bench.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hnsw_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pq_idx` [INFO] [stdout] --> src/bench/bench.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pq_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | for i in 0..K { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/bf/bf.rs:35:31 [INFO] [stdout] | [INFO] [stdout] 35 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xp` [INFO] [stdout] --> src/bf/bf.rs:51:21 [INFO] [stdout] | [INFO] [stdout] 51 | let xp = heap.pop().unwrap(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_xp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/bf/bf.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bf/bf.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bf/bf.rs:92:20 [INFO] [stdout] | [INFO] [stdout] 92 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bpforest/bpforest.rs:287:17 [INFO] [stdout] | [INFO] [stdout] 287 | for i in 0..diff { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bpforest/bpforest.rs:372:13 [INFO] [stdout] | [INFO] [stdout] 372 | for i in 0..ATTEMPT { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/bpforest/bpforest.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/bpforest/bpforest.rs:550:17 [INFO] [stdout] | [INFO] [stdout] 550 | Err(e) => random::flip(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/bpforest/bpforest.rs:610:9 [INFO] [stdout] | [INFO] [stdout] 610 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bpforest/bpforest.rs:615:20 [INFO] [stdout] | [INFO] [stdout] 615 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bpforest/bpforest.rs:619:20 [INFO] [stdout] | [INFO] [stdout] 619 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/bpforest/bpforest.rs:623:31 [INFO] [stdout] | [INFO] [stdout] 623 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `search_range` [INFO] [stdout] --> src/hnsw/hnsw.rs:402:13 [INFO] [stdout] | [INFO] [stdout] 402 | let search_range = if self._ef_default > k { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_search_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/hnsw/hnsw.rs:428:13 [INFO] [stdout] | [INFO] [stdout] 428 | for i in 0..cur_level { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/hnsw/hnsw.rs:529:29 [INFO] [stdout] | [INFO] [stdout] 529 | fn construct(&mut self, mt: metrics::Metric) -> Result<(), &'static str> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/hnsw/hnsw.rs:543:9 [INFO] [stdout] | [INFO] [stdout] 543 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/hnsw/hnsw.rs:565:20 [INFO] [stdout] | [INFO] [stdout] 565 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/hnsw/hnsw.rs:569:20 [INFO] [stdout] | [INFO] [stdout] 569 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/hnsw/hnsw.rs:573:31 [INFO] [stdout] | [INFO] [stdout] 573 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | for i in 0..demension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | for i in 0..n_center { [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/pq/pq.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | for j in 0..demension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | for i in 0..n_center { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `demension` [INFO] [stdout] --> src/pq/pq.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | let demension = self._demension; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_demension` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/pq/pq.rs:362:29 [INFO] [stdout] | [INFO] [stdout] 362 | fn construct(&mut self, mt: metrics::Metric) -> Result<(), &'static str> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/pq/pq.rs:380:9 [INFO] [stdout] | [INFO] [stdout] 380 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/pq/pq.rs:402:20 [INFO] [stdout] | [INFO] [stdout] 402 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/pq/pq.rs:406:20 [INFO] [stdout] | [INFO] [stdout] 406 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/pq/pq.rs:410:31 [INFO] [stdout] | [INFO] [stdout] 410 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let mut bpforest_idx = Box::new( [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let mut accuracy = Arc::new(Mutex::new(Vec::new())); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let mut cost = Arc::new(Mutex::new(Vec::new())); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | let mut base_cost = Arc::new(Mutex::new(Duration::default())); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | let mut bf_idx = Box::new(bf::bf::BruteForceIndex::::new()); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | let mut bpforest_idx = [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:235:17 [INFO] [stdout] | [INFO] [stdout] 235 | let mut result = idx.search_k(&train_data[*w as usize], 10); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let mut result = idx.search_k(&train_data[*w as usize], 10); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/bench/bench.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::distributions::{Distribution, Normal}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/bench/bench.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | for i in 0..clustering_n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | for i in 0..dimension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | for i in 0..node_n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hnsw_idx` [INFO] [stdout] --> src/bench/bench.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hnsw_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pq_idx` [INFO] [stdout] --> src/bench/bench.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pq_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | for i in Prgrs::new(0..test_time, 1000).set_length_move(Length::Proportional(0.5)) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hnsw_idx` [INFO] [stdout] --> src/bench/bench.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hnsw_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pq_idx` [INFO] [stdout] --> src/bench/bench.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pq_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bench/bench.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | for i in 0..K { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/bf/bf.rs:35:31 [INFO] [stdout] | [INFO] [stdout] 35 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xp` [INFO] [stdout] --> src/bf/bf.rs:51:21 [INFO] [stdout] | [INFO] [stdout] 51 | let xp = heap.pop().unwrap(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_xp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/bf/bf.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bf/bf.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bf/bf.rs:92:20 [INFO] [stdout] | [INFO] [stdout] 92 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bpforest/bpforest.rs:287:17 [INFO] [stdout] | [INFO] [stdout] 287 | for i in 0..diff { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bpforest/bpforest.rs:372:13 [INFO] [stdout] | [INFO] [stdout] 372 | for i in 0..ATTEMPT { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/bpforest/bpforest.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/bpforest/bpforest.rs:550:17 [INFO] [stdout] | [INFO] [stdout] 550 | Err(e) => random::flip(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/bpforest/bpforest.rs:610:9 [INFO] [stdout] | [INFO] [stdout] 610 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bpforest/bpforest.rs:615:20 [INFO] [stdout] | [INFO] [stdout] 615 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/bpforest/bpforest.rs:619:20 [INFO] [stdout] | [INFO] [stdout] 619 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/bpforest/bpforest.rs:623:31 [INFO] [stdout] | [INFO] [stdout] 623 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `search_range` [INFO] [stdout] --> src/hnsw/hnsw.rs:402:13 [INFO] [stdout] | [INFO] [stdout] 402 | let search_range = if self._ef_default > k { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_search_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/hnsw/hnsw.rs:428:13 [INFO] [stdout] | [INFO] [stdout] 428 | for i in 0..cur_level { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/hnsw/hnsw.rs:529:29 [INFO] [stdout] | [INFO] [stdout] 529 | fn construct(&mut self, mt: metrics::Metric) -> Result<(), &'static str> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/hnsw/hnsw.rs:543:9 [INFO] [stdout] | [INFO] [stdout] 543 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/hnsw/hnsw.rs:565:20 [INFO] [stdout] | [INFO] [stdout] 565 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/hnsw/hnsw.rs:569:20 [INFO] [stdout] | [INFO] [stdout] 569 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/hnsw/hnsw.rs:573:31 [INFO] [stdout] | [INFO] [stdout] 573 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | for i in 0..demension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | for i in 0..n_center { [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/pq/pq.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | for j in 0..demension { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pq/pq.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | for i in 0..n_center { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `demension` [INFO] [stdout] --> src/pq/pq.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | let demension = self._demension; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_demension` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/pq/pq.rs:362:29 [INFO] [stdout] | [INFO] [stdout] 362 | fn construct(&mut self, mt: metrics::Metric) -> Result<(), &'static str> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/pq/pq.rs:380:9 [INFO] [stdout] | [INFO] [stdout] 380 | args: &arguments::Arguments, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/pq/pq.rs:402:20 [INFO] [stdout] | [INFO] [stdout] 402 | fn load(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/pq/pq.rs:406:20 [INFO] [stdout] | [INFO] [stdout] 406 | fn dump(&self, path: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/pq/pq.rs:410:31 [INFO] [stdout] | [INFO] [stdout] 410 | fn reconstruct(&mut self, mt: metrics::Metric) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let mut bpforest_idx = Box::new( [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let mut accuracy = Arc::new(Mutex::new(Vec::new())); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let mut cost = Arc::new(Mutex::new(Vec::new())); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | let mut base_cost = Arc::new(Mutex::new(Duration::default())); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | let mut bf_idx = Box::new(bf::bf::BruteForceIndex::::new()); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | let mut bpforest_idx = [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | let mut hnsw_idx = Box::new(hnsw::hnsw::HnswIndex::::new( [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | let mut pq_idx = Box::new(pq::pq::PQIndex::::new( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:235:17 [INFO] [stdout] | [INFO] [stdout] 235 | let mut result = idx.search_k(&train_data[*w as usize], 10); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bench/bench.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let mut result = idx.search_k(&train_data[*w as usize], 10); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | let elt = unsafe { ptr::read(data.get_unchecked(pos)) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | unsafe { self.data.get_unchecked(index) } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_lines` [INFO] [stdout] --> src/bench/bench.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn read_lines

(filename: P) -> io::Result>> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `run_word_emb_demo` [INFO] [stdout] --> src/bench/bench.rs:164:8 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn run_word_emb_demo() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_with_vectors` [INFO] [stdout] --> src/bpforest/bpforest.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | fn new_with_vectors(_v: &[E]) -> Leaf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `copy` [INFO] [stdout] --> src/bpforest/bpforest.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | fn copy(dst: &mut Leaf, src: &Leaf) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_literal` [INFO] [stdout] --> src/bpforest/bpforest.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn get_literal(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `clear` [INFO] [stdout] --> src/bpforest/bpforest.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 231 | fn clear(&mut self) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_distance` [INFO] [stdout] --> src/bpforest/bpforest.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | fn get_distance(&self, i: i32, j: i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_tot_items_cnt` [INFO] [stdout] --> src/bpforest/bpforest.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | fn get_tot_items_cnt(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_n_tree` [INFO] [stdout] --> src/bpforest/bpforest.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | fn get_n_tree(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_dimension` [INFO] [stdout] --> src/bpforest/bpforest.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn get_dimension(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_leaf_mut` [INFO] [stdout] --> src/bpforest/bpforest.rs:258:8 [INFO] [stdout] | [INFO] [stdout] 258 | fn get_leaf_mut(&mut self, i: i32) -> &mut Leaf { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `show_trees` [INFO] [stdout] --> src/bpforest/bpforest.rs:522:12 [INFO] [stdout] | [INFO] [stdout] 522 | pub fn show_trees(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `float_args` [INFO] [stdout] --> src/core/arguments.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | float_args: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `int_args` [INFO] [stdout] --> src/core/arguments.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | int_args: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `str_args` [INFO] [stdout] --> src/core/arguments.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | str_args: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fget` [INFO] [stdout] --> src/core/arguments.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn fget(&self, key: &str) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `iget` [INFO] [stdout] --> src/core/arguments.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn iget(&self, key: &str) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `sget` [INFO] [stdout] --> src/core/arguments.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn sget(&self, key: &str) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fset` [INFO] [stdout] --> src/core/arguments.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn fset(&mut self, key: &str, value: f32) -> &mut Arguments { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `iset` [INFO] [stdout] --> src/core/arguments.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn iset(&mut self, key: &str, value: i32) -> &mut Arguments { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `sset` [INFO] [stdout] --> src/core/arguments.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn sset(&mut self, key: &str, value: &str) -> &mut Arguments { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Euclidean` [INFO] [stdout] --> src/core/metrics.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Euclidean, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Angular` [INFO] [stdout] --> src/core/metrics.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | Angular, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bench/bench.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | idx.add_node(&core::node::Node::::new_with_idx(&embs[i], i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 104 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | let elt = unsafe { ptr::read(data.get_unchecked(pos)) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | unsafe { self.data.get_unchecked(index) } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/heap.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_lines` [INFO] [stdout] --> src/bench/bench.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn read_lines

(filename: P) -> io::Result>> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `run_word_emb_demo` [INFO] [stdout] --> src/bench/bench.rs:164:8 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn run_word_emb_demo() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_with_vectors` [INFO] [stdout] --> src/bpforest/bpforest.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | fn new_with_vectors(_v: &[E]) -> Leaf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `copy` [INFO] [stdout] --> src/bpforest/bpforest.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | fn copy(dst: &mut Leaf, src: &Leaf) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_literal` [INFO] [stdout] --> src/bpforest/bpforest.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn get_literal(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `clear` [INFO] [stdout] --> src/bpforest/bpforest.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 231 | fn clear(&mut self) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_distance` [INFO] [stdout] --> src/bpforest/bpforest.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | fn get_distance(&self, i: i32, j: i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_tot_items_cnt` [INFO] [stdout] --> src/bpforest/bpforest.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | fn get_tot_items_cnt(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_n_tree` [INFO] [stdout] --> src/bpforest/bpforest.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | fn get_n_tree(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_dimension` [INFO] [stdout] --> src/bpforest/bpforest.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn get_dimension(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_leaf_mut` [INFO] [stdout] --> src/bpforest/bpforest.rs:258:8 [INFO] [stdout] | [INFO] [stdout] 258 | fn get_leaf_mut(&mut self, i: i32) -> &mut Leaf { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `show_trees` [INFO] [stdout] --> src/bpforest/bpforest.rs:522:12 [INFO] [stdout] | [INFO] [stdout] 522 | pub fn show_trees(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `float_args` [INFO] [stdout] --> src/core/arguments.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | float_args: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `int_args` [INFO] [stdout] --> src/core/arguments.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | int_args: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `str_args` [INFO] [stdout] --> src/core/arguments.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | str_args: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fget` [INFO] [stdout] --> src/core/arguments.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn fget(&self, key: &str) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `iget` [INFO] [stdout] --> src/core/arguments.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn iget(&self, key: &str) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `sget` [INFO] [stdout] --> src/core/arguments.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn sget(&self, key: &str) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fset` [INFO] [stdout] --> src/core/arguments.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn fset(&mut self, key: &str, value: f32) -> &mut Arguments { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `iset` [INFO] [stdout] --> src/core/arguments.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn iset(&mut self, key: &str, value: i32) -> &mut Arguments { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `sset` [INFO] [stdout] --> src/core/arguments.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn sset(&mut self, key: &str, value: &str) -> &mut Arguments { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Euclidean` [INFO] [stdout] --> src/core/metrics.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Euclidean, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Angular` [INFO] [stdout] --> src/core/metrics.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | Angular, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bench/bench.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | idx.add_node(&core::node::Node::::new_with_idx(&embs[i], i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 104 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 07s [INFO] running `Command { std: "docker" "inspect" "396b71f183db25d7df8e0e6edd4b028e5cd8321f9bbec31d5b1e4d2278913163", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "396b71f183db25d7df8e0e6edd4b028e5cd8321f9bbec31d5b1e4d2278913163", kill_on_drop: false }` [INFO] [stdout] 396b71f183db25d7df8e0e6edd4b028e5cd8321f9bbec31d5b1e4d2278913163