[INFO] fetching crate sochdb-index 2.0.2...
[INFO] testing sochdb-index-2.0.2 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate sochdb-index 2.0.2 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate sochdb-index 2.0.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate sochdb-index 2.0.2
[INFO] tweaked toml for crates.io crate sochdb-index 2.0.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sochdb-index 2.0.2 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate sochdb-index 2.0.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 52fd8c09c6fbf8db6eb5d0e41e279e6562201a4cca383f0e10eca1dc45fd28b3
[INFO] running `Command { std: "docker" "start" "-a" "52fd8c09c6fbf8db6eb5d0e41e279e6562201a4cca383f0e10eca1dc45fd28b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "52fd8c09c6fbf8db6eb5d0e41e279e6562201a4cca383f0e10eca1dc45fd28b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52fd8c09c6fbf8db6eb5d0e41e279e6562201a4cca383f0e10eca1dc45fd28b3", kill_on_drop: false }`
[INFO] [stdout] 52fd8c09c6fbf8db6eb5d0e41e279e6562201a4cca383f0e10eca1dc45fd28b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4d28dfbde57bdfc297eac5d01a11f393cfc36e61391517015cb523b21b1ed1a9
[INFO] running `Command { std: "docker" "start" "-a" "4d28dfbde57bdfc297eac5d01a11f393cfc36e61391517015cb523b21b1ed1a9", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling arrow-schema v54.3.1
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling lexical-util v1.0.7
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling flatbuffers v24.12.23
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling prometheus v0.14.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling lexical-write-integer v1.0.6
[INFO] [stderr]    Compiling lexical-parse-integer v1.0.6
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling lexical-parse-float v1.0.6
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling lexical-write-float v1.0.6
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling array-init v2.1.0
[INFO] [stderr]    Compiling lexical-core v1.0.6
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling toon-format v0.4.5
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling ordered-float v4.6.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling moka v0.12.15
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]    Compiling blake3 v1.8.4
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling arrow-buffer v54.3.1
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling arrow-data v54.3.1
[INFO] [stderr]    Compiling arrow-array v54.3.1
[INFO] [stderr]    Compiling arrow-select v54.3.1
[INFO] [stderr]    Compiling arrow-ipc v54.3.1
[INFO] [stderr]    Compiling arrow-row v54.3.1
[INFO] [stderr]    Compiling arrow-arith v54.3.1
[INFO] [stderr]    Compiling arrow-ord v54.3.1
[INFO] [stderr]    Compiling arrow-string v54.3.1
[INFO] [stderr]    Compiling arrow-cast v54.3.1
[INFO] [stderr]    Compiling lz4 v1.28.1
[INFO] [stderr]    Compiling sochdb-core v2.0.2
[INFO] [stderr]    Compiling arrow v54.3.1
[INFO] [stderr]    Compiling sochdb-index v2.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PROFILE_COLLECTOR`
[INFO] [stdout]     --> src/hnsw.rs:3429:54
[INFO] [stdout]      |
[INFO] [stdout] 3429 |         use crate::profiling::{is_profiling_enabled, PROFILE_COLLECTOR};
[INFO] [stdout]      |                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BinaryHeap`
[INFO] [stdout]     --> src/hnsw.rs:4876:13
[INFO] [stdout]      |
[INFO] [stdout] 4876 |         use std::collections::BinaryHeap;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BinaryHeap`
[INFO] [stdout]     --> src/hnsw.rs:5036:13
[INFO] [stdout]      |
[INFO] [stdout] 5036 |         use std::collections::BinaryHeap;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5255:15
[INFO] [stdout]      |
[INFO] [stdout] 5255 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]      = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5257:15
[INFO] [stdout]      |
[INFO] [stdout] 5257 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5260:15
[INFO] [stdout]      |
[INFO] [stdout] 5260 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5491:15
[INFO] [stdout]      |
[INFO] [stdout] 5491 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5495:15
[INFO] [stdout]      |
[INFO] [stdout] 5495 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5264:19
[INFO] [stdout]      |
[INFO] [stdout] 5264 |             #[cfg(feature = "metrics")]
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5366:19
[INFO] [stdout]      |
[INFO] [stdout] 5366 |             #[cfg(feature = "metrics")]
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5369:19
[INFO] [stdout]      |
[INFO] [stdout] 5369 |             #[cfg(feature = "metrics")]
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Reverse`
[INFO] [stdout]     --> src/hnsw.rs:6162:13
[INFO] [stdout]      |
[INFO] [stdout] 6162 |         use std::cmp::Reverse;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:137:16
[INFO] [stdout]     |
[INFO] [stdout] 137 |     data: [u8; VECTOR_DIM],
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `lockfree_hnsw::QuantizedVector`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Default for QuantizedVector {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `lockfree_hnsw::QuantizedVector`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:148:6
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl QuantizedVector {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:143:23
[INFO] [stdout]     |
[INFO] [stdout] 143 |             data: [0; VECTOR_DIM],
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             VECTOR_DIM,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             VECTOR_DIM,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let mut data = [0u8; VECTOR_DIM];
[INFO] [stdout]     |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:176:21
[INFO] [stdout]     |
[INFO] [stdout] 176 |         for i in 0..VECTOR_DIM {
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             data: [0; VECTOR_DIM],
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:171:16
[INFO] [stdout]     |
[INFO] [stdout] 171 |         Self { data }
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:177:24
[INFO] [stdout]     |
[INFO] [stdout] 177 |             let diff = self.data[i] as i32 - other.data[i] as i32;
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:177:46
[INFO] [stdout]     |
[INFO] [stdout] 177 |             let diff = self.data[i] as i32 - other.data[i] as i32;
[INFO] [stdout]     |                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `lockfree_hnsw::AtomicNeighborList::update`: Use update_reclaim() with a UnifiedReclaimer instead — this method leaks memory
[INFO] [stdout]    --> src/lockfree_hnsw.rs:405:21
[INFO] [stdout]     |
[INFO] [stdout] 405 |             if self.update(&mut mutator) {
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]     --> src/hnsw.rs:3631:13
[INFO] [stdout]      |
[INFO] [stdout] 3631 |         use rayon::prelude::*;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:402:25
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let v_vec = _mm_loadu_ps(tile_ptr.add(d * T));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/aosoa_tiles.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 384 |     pub unsafe fn tile_l2_squared_avx2(&self, query: &[f32], tile_idx: usize) -> [f32; T] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:402:38
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let v_vec = _mm_loadu_ps(tile_ptr.add(d * T));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_fmadd_ps` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:404:19
[INFO] [stdout]     |
[INFO] [stdout] 404 |             acc = _mm_fmadd_ps(diff, diff, acc);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: fma
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |         _mm_storeu_ps(dists.as_mut_ptr(), acc);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_dense`
[INFO] [stdout]     --> src/hnsw.rs:3209:25
[INFO] [stdout]      |
[INFO] [stdout] 3209 |                     let node_dense = node.dense_index;
[INFO] [stdout]      |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_dense`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_neighbors`
[INFO] [stdout]     --> src/hnsw.rs:5074:29
[INFO] [stdout]      |
[INFO] [stdout] 5074 |                         let n_neighbors = neighbors.len();
[INFO] [stdout]      |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_neighbors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/hnsw.rs:5076:30
[INFO] [stdout]      |
[INFO] [stdout] 5076 |                         for (i, &neighbor_dense) in neighbors.iter().enumerate() {
[INFO] [stdout]      |                              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:6898:9
[INFO] [stdout]      |
[INFO] [stdout] 6898 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:6918:9
[INFO] [stdout]      |
[INFO] [stdout] 6918 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:7058:9
[INFO] [stdout]      |
[INFO] [stdout] 7058 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:7078:9
[INFO] [stdout]      |
[INFO] [stdout] 7078 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7489:22
[INFO] [stdout]      |
[INFO] [stdout] 7489 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7475:5
[INFO] [stdout]      |
[INFO] [stdout] 7475 |     unsafe fn cosine_distance_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7489:38
[INFO] [stdout]      |
[INFO] [stdout] 7489 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7490:22
[INFO] [stdout]      |
[INFO] [stdout] 7490 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7490:38
[INFO] [stdout]      |
[INFO] [stdout] 7490 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7499:19
[INFO] [stdout]      |
[INFO] [stdout] 7499 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7500:22
[INFO] [stdout]      |
[INFO] [stdout] 7500 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7501:22
[INFO] [stdout]      |
[INFO] [stdout] 7501 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7533:23
[INFO] [stdout]      |
[INFO] [stdout] 7533 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7514:5
[INFO] [stdout]      |
[INFO] [stdout] 7514 |     unsafe fn cosine_distance_avx2_unrolled_768(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7533:39
[INFO] [stdout]      |
[INFO] [stdout] 7533 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7534:23
[INFO] [stdout]      |
[INFO] [stdout] 7534 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7534:39
[INFO] [stdout]      |
[INFO] [stdout] 7534 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7535:23
[INFO] [stdout]      |
[INFO] [stdout] 7535 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7535:39
[INFO] [stdout]      |
[INFO] [stdout] 7535 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7536:23
[INFO] [stdout]      |
[INFO] [stdout] 7536 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7536:39
[INFO] [stdout]      |
[INFO] [stdout] 7536 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7554:19
[INFO] [stdout]      |
[INFO] [stdout] 7554 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7555:22
[INFO] [stdout]      |
[INFO] [stdout] 7555 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7556:22
[INFO] [stdout]      |
[INFO] [stdout] 7556 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7588:23
[INFO] [stdout]      |
[INFO] [stdout] 7588 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7569:5
[INFO] [stdout]      |
[INFO] [stdout] 7569 |     unsafe fn cosine_distance_avx2_unrolled_1536(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7588:39
[INFO] [stdout]      |
[INFO] [stdout] 7588 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7589:23
[INFO] [stdout]      |
[INFO] [stdout] 7589 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7589:39
[INFO] [stdout]      |
[INFO] [stdout] 7589 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7590:23
[INFO] [stdout]      |
[INFO] [stdout] 7590 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7590:39
[INFO] [stdout]      |
[INFO] [stdout] 7590 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7591:23
[INFO] [stdout]      |
[INFO] [stdout] 7591 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7591:39
[INFO] [stdout]      |
[INFO] [stdout] 7591 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7607:19
[INFO] [stdout]      |
[INFO] [stdout] 7607 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7608:22
[INFO] [stdout]      |
[INFO] [stdout] 7608 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7609:22
[INFO] [stdout]      |
[INFO] [stdout] 7609 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7632:22
[INFO] [stdout]      |
[INFO] [stdout] 7632 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7621:5
[INFO] [stdout]      |
[INFO] [stdout] 7621 |     unsafe fn l2_distance_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7632:38
[INFO] [stdout]      |
[INFO] [stdout] 7632 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7633:22
[INFO] [stdout]      |
[INFO] [stdout] 7633 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7633:38
[INFO] [stdout]      |
[INFO] [stdout] 7633 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7638:9
[INFO] [stdout]      |
[INFO] [stdout] 7638 |         Self::horizontal_sum_avx2(sum).sqrt()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7654:22
[INFO] [stdout]      |
[INFO] [stdout] 7654 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7644:5
[INFO] [stdout]      |
[INFO] [stdout] 7644 |     unsafe fn l2_distance_avx2_unrolled_768(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7654:38
[INFO] [stdout]      |
[INFO] [stdout] 7654 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7655:22
[INFO] [stdout]      |
[INFO] [stdout] 7655 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7655:38
[INFO] [stdout]      |
[INFO] [stdout] 7655 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7660:9
[INFO] [stdout]      |
[INFO] [stdout] 7660 |         Self::horizontal_sum_avx2(sum).sqrt()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7676:22
[INFO] [stdout]      |
[INFO] [stdout] 7676 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7666:5
[INFO] [stdout]      |
[INFO] [stdout] 7666 |     unsafe fn dot_product_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7676:38
[INFO] [stdout]      |
[INFO] [stdout] 7676 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7677:22
[INFO] [stdout]      |
[INFO] [stdout] 7677 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7677:38
[INFO] [stdout]      |
[INFO] [stdout] 7677 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7681:9
[INFO] [stdout]      |
[INFO] [stdout] 7681 |         Self::horizontal_sum_avx2(sum)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reachable`
[INFO] [stdout]     --> src/hnsw.rs:8490:14
[INFO] [stdout]      |
[INFO] [stdout] 8490 |         let (reachable, total, orphans) = self.diagnose_connectivity();
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reachable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total`
[INFO] [stdout]     --> src/hnsw.rs:8490:25
[INFO] [stdout]      |
[INFO] [stdout] 8490 |         let (reachable, total, orphans) = self.diagnose_connectivity();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:431:22
[INFO] [stdout]     |
[INFO] [stdout] 431 |             let va = _mm256_loadu_ps(a.as_ptr().add(idx));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/optimized_search.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 420 |     unsafe fn euclidean_distance_avx2(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:431:38
[INFO] [stdout]     |
[INFO] [stdout] 431 |             let va = _mm256_loadu_ps(a.as_ptr().add(idx));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:432:22
[INFO] [stdout]     |
[INFO] [stdout] 432 |             let vb = _mm256_loadu_ps(b.as_ptr().add(idx));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:432:38
[INFO] [stdout]     |
[INFO] [stdout] 432 |             let vb = _mm256_loadu_ps(b.as_ptr().add(idx));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:389:22
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let va = _mm256_loadu_si256(a.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/unified_quant.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 379 |     unsafe fn dot_i8_avx2(a: &[i8], b: &[i8]) -> i32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:389:41
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let va = _mm256_loadu_si256(a.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:390:22
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let vb = _mm256_loadu_si256(b.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:390:41
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let vb = _mm256_loadu_si256(b.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:188:18
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     unsafe fn blend_avx2(a: [f32; 4], b: [f32; 4], mask: SimdMask) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:189:18
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_si128` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:190:18
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let vm = _mm_loadu_si128(mask_expanded.as_ptr() as *const __m128i);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:266:18
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     unsafe fn min_avx2(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:267:18
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:313:18
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     unsafe fn max_avx2(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:474:18
[INFO] [stdout]     |
[INFO] [stdout] 474 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:459:5
[INFO] [stdout]     |
[INFO] [stdout] 459 |     unsafe fn blend_avx2(a: [f32; 8], b: [f32; 8], mask: u8) -> [f32; 8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:475:18
[INFO] [stdout]     |
[INFO] [stdout] 475 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:476:18
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let vm = _mm256_loadu_si256(mask_expanded.as_ptr() as *const __m256i);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |         _mm256_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:507:18
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 505 |     unsafe fn min_avx2(a: [f32; 8], b: [f32; 8]) -> [f32; 8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:508:18
[INFO] [stdout]     |
[INFO] [stdout] 508 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:511:9
[INFO] [stdout]     |
[INFO] [stdout] 511 |         _mm256_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:539:18
[INFO] [stdout]     |
[INFO] [stdout] 539 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:537:5
[INFO] [stdout]     |
[INFO] [stdout] 537 |     unsafe fn cmp_lt_avx2(a: [f32; 8], b: [f32; 8]) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:540:18
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     query_ptr.add(prefetch_d) as *const i8,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_batch_distance.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | /     pub unsafe fn batch_l2_squared_8x(
[INFO] [stdout] 105 | |         query: &[f32],
[INFO] [stdout] 106 | |         candidates: &[&[f32]; 8],
[INFO] [stdout] 107 | |         dimension: usize,
[INFO] [stdout] 108 | |     ) -> [f32; 8] {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:136:34
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     _mm_prefetch(c.as_ptr().add(prefetch_d) as *const i8, _MM_HINT_T0);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:141:37
[INFO] [stdout]     |
[INFO] [stdout] 141 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 152 |             process_candidate!(0, acc0);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 152 |             process_candidate!(0, acc0);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 153 |             process_candidate!(1, acc1);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 153 |             process_candidate!(1, acc1);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 154 |             process_candidate!(2, acc2);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 154 |             process_candidate!(2, acc2);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 155 |             process_candidate!(3, acc3);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 155 |             process_candidate!(3, acc3);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 156 |             process_candidate!(4, acc4);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 156 |             process_candidate!(4, acc4);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 157 |             process_candidate!(5, acc5);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 157 |             process_candidate!(5, acc5);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 158 |             process_candidate!(6, acc6);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 158 |             process_candidate!(6, acc6);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 159 |             process_candidate!(7, acc7);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 159 |             process_candidate!(7, acc7);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 let q_val = *query.get_unchecked(d);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:168:34
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     let c_val = *candidate.get_unchecked(d);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |             hsum_256(acc0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             hsum_256(acc1),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |             hsum_256(acc2),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             hsum_256(acc3),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             hsum_256(acc4),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |             hsum_256(acc5),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |             hsum_256(acc6),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |             hsum_256(acc7),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:241:30
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 _mm_prefetch(query_ptr.add(prefetch_d) as *const i8, _MM_HINT_T0);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_batch_distance.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | /     pub unsafe fn batch_dot_product_8x(
[INFO] [stdout] 218 | |         query: &[f32],
[INFO] [stdout] 219 | |         candidates: &[&[f32]; 8],
[INFO] [stdout] 220 | |         dimension: usize,
[INFO] [stdout] 221 | |     ) -> [f32; 8] {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:244:21
[INFO] [stdout]     |
[INFO] [stdout] 244 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:244:37
[INFO] [stdout]     |
[INFO] [stdout] 244 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 253 |             process_dot!(0, acc0);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 253 |             process_dot!(0, acc0);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 254 |             process_dot!(1, acc1);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 254 |             process_dot!(1, acc1);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 255 |             process_dot!(2, acc2);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 255 |             process_dot!(2, acc2);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 256 |             process_dot!(3, acc3);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 256 |             process_dot!(3, acc3);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 257 |             process_dot!(4, acc4);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 257 |             process_dot!(4, acc4);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 258 |             process_dot!(5, acc5);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 258 |             process_dot!(5, acc5);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 259 |             process_dot!(6, acc6);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 259 |             process_dot!(6, acc6);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 260 |             process_dot!(7, acc7);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 260 |             process_dot!(7, acc7);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:266:26
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let q_val = *query.get_unchecked(d);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:268:30
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 let c_val = *candidate.get_unchecked(d);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:284:13
[INFO] [stdout]     |
[INFO] [stdout] 284 |             hsum_256(acc0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             hsum_256(acc1),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |             hsum_256(acc2),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |             hsum_256(acc3),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |             hsum_256(acc4),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |             hsum_256(acc5),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 290 |             hsum_256(acc6),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |             hsum_256(acc7),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:253:19
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let va0 = _mm256_loadu_ps(a_ptr.add(base));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:236:1
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub unsafe fn l2_squared_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:253:35
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let va0 = _mm256_loadu_ps(a_ptr.add(base));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:254:19
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let vb0 = _mm256_loadu_ps(b_ptr.add(base));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:254:35
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let vb0 = _mm256_loadu_ps(b_ptr.add(base));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:258:19
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let va1 = _mm256_loadu_ps(a_ptr.add(base + 8));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:258:35
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let va1 = _mm256_loadu_ps(a_ptr.add(base + 8));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:259:19
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let vb1 = _mm256_loadu_ps(b_ptr.add(base + 8));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:259:35
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let vb1 = _mm256_loadu_ps(b_ptr.add(base + 8));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:263:19
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let va2 = _mm256_loadu_ps(a_ptr.add(base + 16));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:263:35
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let va2 = _mm256_loadu_ps(a_ptr.add(base + 16));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:264:19
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let vb2 = _mm256_loadu_ps(b_ptr.add(base + 16));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:264:35
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let vb2 = _mm256_loadu_ps(b_ptr.add(base + 16));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:268:19
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let va3 = _mm256_loadu_ps(a_ptr.add(base + 24));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:268:35
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let va3 = _mm256_loadu_ps(a_ptr.add(base + 24));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:269:19
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let vb3 = _mm256_loadu_ps(b_ptr.add(base + 24));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:269:35
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let vb3 = _mm256_loadu_ps(b_ptr.add(base + 24));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:276:18
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:276:34
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:277:18
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:277:34
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:297:43
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:319:18
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:307:1
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub unsafe fn dot_product_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:319:34
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:320:18
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:320:34
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:335:20
[INFO] [stdout]     |
[INFO] [stdout] 335 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:335:42
[INFO] [stdout]     |
[INFO] [stdout] 335 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:360:18
[INFO] [stdout]     |
[INFO] [stdout] 360 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:348:1
[INFO] [stdout]     |
[INFO] [stdout] 348 | pub unsafe fn l2_squared_sse41(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:360:31
[INFO] [stdout]     |
[INFO] [stdout] 360 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:361:18
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:361:31
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:375:21
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:375:43
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:397:18
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:385:1
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub unsafe fn dot_product_sse41(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:397:31
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:398:18
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:398:31
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:411:20
[INFO] [stdout]     |
[INFO] [stdout] 411 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:411:42
[INFO] [stdout]     |
[INFO] [stdout] 411 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:436:18
[INFO] [stdout]     |
[INFO] [stdout] 436 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:424:1
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub unsafe fn l2_squared_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:436:34
[INFO] [stdout]     |
[INFO] [stdout] 436 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:437:18
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:437:34
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:447:21
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:447:43
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:469:18
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:457:1
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub unsafe fn dot_product_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:469:34
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:470:18
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:470:34
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:479:20
[INFO] [stdout]     |
[INFO] [stdout] 479 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:479:42
[INFO] [stdout]     |
[INFO] [stdout] 479 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_distance.rs:771:26
[INFO] [stdout]     |
[INFO] [stdout] 771 |         let sum_scalar = unsafe {
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_distance.rs:791:22
[INFO] [stdout]     |
[INFO] [stdout] 791 |     let mut result = unsafe {
[INFO] [stdout]     |                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FastCandidate` is more private than the item `ScratchBuffers::fast_candidates`
[INFO] [stdout]    --> src/scratch_buffers.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fast_candidates: BinaryHeap<FastCandidate>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ScratchBuffers::fast_candidates` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FastCandidate` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/hnsw.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | pub(crate) struct FastCandidate {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FastCandidate` is more private than the item `ScratchBuffers::fast_results_heap`
[INFO] [stdout]    --> src/scratch_buffers.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub fast_results_heap: BinaryHeap<Reverse<FastCandidate>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ScratchBuffers::fast_results_heap` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FastCandidate` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/hnsw.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | pub(crate) struct FastCandidate {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `needs_refinement` is never read
[INFO] [stdout]     --> src/hnsw.rs:2198:16
[INFO] [stdout]      |
[INFO] [stdout] 2144 | pub struct HnswIndex {
[INFO] [stdout]      |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2198 |     pub(crate) needs_refinement: AtomicBool,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_node_by_dense`, `connect_node_fast_profiled`, `search_layer_fast`, and `process_neighbors_with_prefetch` are never used
[INFO] [stdout]     --> src/hnsw.rs:2328:19
[INFO] [stdout]      |
[INFO] [stdout] 2230 | impl HnswIndex {
[INFO] [stdout]      | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2328 |     pub(crate) fn get_node_by_dense(&self, dense_index: u32) -> Option<Arc<HnswNode>> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3764 |     fn connect_node_fast_profiled(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5149 |     fn search_layer_fast(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6646 |     fn process_neighbors_with_prefetch(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/simd_distance.rs:784:17
[INFO] [stdout]     |
[INFO] [stdout] 784 |                 sum_scalar + diff * diff;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 784 |                 let _ = sum_scalar + diff * diff;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Reverse`
[INFO] [stdout]  --> src/bin/micro_bench.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cmp::Reverse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]  --> src/bin/profile_hotpath.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/profile_hotpath.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut times_distance: Vec<Duration> = Vec::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `times_distance`
[INFO] [stdout]    --> src/bin/profile_hotpath.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut times_distance: Vec<Duration> = Vec::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_times_distance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DISTANCE_CALLS` is never used
[INFO] [stdout]   --> src/bin/profile_hotpath.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | static DISTANCE_CALLS: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HEAP_PUSHES` is never used
[INFO] [stdout]   --> src/bin/profile_hotpath.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | static HEAP_PUSHES: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `VISITED_CHECKS` is never used
[INFO] [stdout]   --> src/bin/profile_hotpath.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | static VISITED_CHECKS: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 54.96s
[INFO] running `Command { std: "docker" "inspect" "4d28dfbde57bdfc297eac5d01a11f393cfc36e61391517015cb523b21b1ed1a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d28dfbde57bdfc297eac5d01a11f393cfc36e61391517015cb523b21b1ed1a9", kill_on_drop: false }`
[INFO] [stdout] 4d28dfbde57bdfc297eac5d01a11f393cfc36e61391517015cb523b21b1ed1a9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 38dd2b2a45aff578e5678d6b370bff7b12fc0a472170dca8170f7e658cc64fbe
[INFO] running `Command { std: "docker" "start" "-a" "38dd2b2a45aff578e5678d6b370bff7b12fc0a472170dca8170f7e658cc64fbe", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling ordered-float v4.6.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling arrow-buffer v54.3.1
[INFO] [stderr]    Compiling arrow-data v54.3.1
[INFO] [stderr]    Compiling arrow-array v54.3.1
[INFO] [stderr]    Compiling arrow-select v54.3.1
[INFO] [stderr]    Compiling arrow-arith v54.3.1
[INFO] [stderr]    Compiling arrow-row v54.3.1
[INFO] [stderr]    Compiling arrow-ipc v54.3.1
[INFO] [stderr]    Compiling arrow-cast v54.3.1
[INFO] [stderr]    Compiling arrow-string v54.3.1
[INFO] [stderr]    Compiling arrow-ord v54.3.1
[INFO] [stderr]    Compiling arrow v54.3.1
[INFO] [stderr]    Compiling sochdb-index v2.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PROFILE_COLLECTOR`
[INFO] [stdout]     --> src/hnsw.rs:3429:54
[INFO] [stdout]      |
[INFO] [stdout] 3429 |         use crate::profiling::{is_profiling_enabled, PROFILE_COLLECTOR};
[INFO] [stdout]      |                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BinaryHeap`
[INFO] [stdout]     --> src/hnsw.rs:4876:13
[INFO] [stdout]      |
[INFO] [stdout] 4876 |         use std::collections::BinaryHeap;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BinaryHeap`
[INFO] [stdout]     --> src/hnsw.rs:5036:13
[INFO] [stdout]      |
[INFO] [stdout] 5036 |         use std::collections::BinaryHeap;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5255:15
[INFO] [stdout]      |
[INFO] [stdout] 5255 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]      = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5257:15
[INFO] [stdout]      |
[INFO] [stdout] 5257 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5260:15
[INFO] [stdout]      |
[INFO] [stdout] 5260 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5491:15
[INFO] [stdout]      |
[INFO] [stdout] 5491 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5495:15
[INFO] [stdout]      |
[INFO] [stdout] 5495 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5264:19
[INFO] [stdout]      |
[INFO] [stdout] 5264 |             #[cfg(feature = "metrics")]
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5366:19
[INFO] [stdout]      |
[INFO] [stdout] 5366 |             #[cfg(feature = "metrics")]
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5369:19
[INFO] [stdout]      |
[INFO] [stdout] 5369 |             #[cfg(feature = "metrics")]
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Reverse`
[INFO] [stdout]     --> src/hnsw.rs:6162:13
[INFO] [stdout]      |
[INFO] [stdout] 6162 |         use std::cmp::Reverse;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContiguousNodeStorage` and `LayerData`
[INFO] [stdout]    --> src/edge_delta_buffer.rs:451:40
[INFO] [stdout]     |
[INFO] [stdout] 451 |     use crate::storage::node_storage::{ContiguousNodeStorage, LayerData};
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vector_quantized::QuantizedVector`
[INFO] [stdout]    --> src/edge_delta_buffer.rs:452:9
[INFO] [stdout]     |
[INFO] [stdout] 452 |     use crate::vector_quantized::QuantizedVector;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PROFILE_COLLECTOR`
[INFO] [stdout]     --> src/hnsw.rs:3429:54
[INFO] [stdout]      |
[INFO] [stdout] 3429 |         use crate::profiling::{is_profiling_enabled, PROFILE_COLLECTOR};
[INFO] [stdout]      |                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BinaryHeap`
[INFO] [stdout]     --> src/hnsw.rs:4876:13
[INFO] [stdout]      |
[INFO] [stdout] 4876 |         use std::collections::BinaryHeap;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BinaryHeap`
[INFO] [stdout]     --> src/hnsw.rs:5036:13
[INFO] [stdout]      |
[INFO] [stdout] 5036 |         use std::collections::BinaryHeap;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5255:15
[INFO] [stdout]      |
[INFO] [stdout] 5255 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]      = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5257:15
[INFO] [stdout]      |
[INFO] [stdout] 5257 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5260:15
[INFO] [stdout]      |
[INFO] [stdout] 5260 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5491:15
[INFO] [stdout]      |
[INFO] [stdout] 5491 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5495:15
[INFO] [stdout]      |
[INFO] [stdout] 5495 |         #[cfg(feature = "metrics")]
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5264:19
[INFO] [stdout]      |
[INFO] [stdout] 5264 |             #[cfg(feature = "metrics")]
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5366:19
[INFO] [stdout]      |
[INFO] [stdout] 5366 |             #[cfg(feature = "metrics")]
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]     --> src/hnsw.rs:5369:19
[INFO] [stdout]      |
[INFO] [stdout] 5369 |             #[cfg(feature = "metrics")]
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `async`, `default`, `fastembed-embeddings`, `llm-embeddings`, and `local-embeddings`
[INFO] [stdout]      = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Reverse`
[INFO] [stdout]     --> src/hnsw.rs:6162:13
[INFO] [stdout]      |
[INFO] [stdout] 6162 |         use std::cmp::Reverse;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dot_product_quantized`
[INFO] [stdout]   --> src/rng_optimization_tests.rs:12:134
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...ized_quantized, cosine_distance_normalized_quantized, dot_product_quantized};
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:137:16
[INFO] [stdout]     |
[INFO] [stdout] 137 |     data: [u8; VECTOR_DIM],
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `lockfree_hnsw::QuantizedVector`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Default for QuantizedVector {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `lockfree_hnsw::QuantizedVector`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:148:6
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl QuantizedVector {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:143:23
[INFO] [stdout]     |
[INFO] [stdout] 143 |             data: [0; VECTOR_DIM],
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             VECTOR_DIM,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             VECTOR_DIM,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let mut data = [0u8; VECTOR_DIM];
[INFO] [stdout]     |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:176:21
[INFO] [stdout]     |
[INFO] [stdout] 176 |         for i in 0..VECTOR_DIM {
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:137:16
[INFO] [stdout]     |
[INFO] [stdout] 137 |     data: [u8; VECTOR_DIM],
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `lockfree_hnsw::QuantizedVector`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Default for QuantizedVector {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `lockfree_hnsw::QuantizedVector`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:148:6
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl QuantizedVector {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:143:23
[INFO] [stdout]     |
[INFO] [stdout] 143 |             data: [0; VECTOR_DIM],
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             VECTOR_DIM,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             VECTOR_DIM,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let mut data = [0u8; VECTOR_DIM];
[INFO] [stdout]     |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `lockfree_hnsw::VECTOR_DIM`: Use DynamicQuantizedVector instead — VECTOR_DIM is hardcoded to 128.
[INFO] [stdout]    --> src/lockfree_hnsw.rs:176:21
[INFO] [stdout]     |
[INFO] [stdout] 176 |         for i in 0..VECTOR_DIM {
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             data: [0; VECTOR_DIM],
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:171:16
[INFO] [stdout]     |
[INFO] [stdout] 171 |         Self { data }
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:177:24
[INFO] [stdout]     |
[INFO] [stdout] 177 |             let diff = self.data[i] as i32 - other.data[i] as i32;
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:177:46
[INFO] [stdout]     |
[INFO] [stdout] 177 |             let diff = self.data[i] as i32 - other.data[i] as i32;
[INFO] [stdout]     |                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `lockfree_hnsw::AtomicNeighborList::update`: Use update_reclaim() with a UnifiedReclaimer instead — this method leaks memory
[INFO] [stdout]    --> src/lockfree_hnsw.rs:405:21
[INFO] [stdout]     |
[INFO] [stdout] 405 |             if self.update(&mut mutator) {
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             data: [0; VECTOR_DIM],
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:171:16
[INFO] [stdout]     |
[INFO] [stdout] 171 |         Self { data }
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:177:24
[INFO] [stdout]     |
[INFO] [stdout] 177 |             let diff = self.data[i] as i32 - other.data[i] as i32;
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lockfree_hnsw::QuantizedVector::data`: Use DynamicQuantizedVector instead
[INFO] [stdout]    --> src/lockfree_hnsw.rs:177:46
[INFO] [stdout]     |
[INFO] [stdout] 177 |             let diff = self.data[i] as i32 - other.data[i] as i32;
[INFO] [stdout]     |                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `lockfree_hnsw::AtomicNeighborList::update`: Use update_reclaim() with a UnifiedReclaimer instead — this method leaks memory
[INFO] [stdout]    --> src/lockfree_hnsw.rs:405:21
[INFO] [stdout]     |
[INFO] [stdout] 405 |             if self.update(&mut mutator) {
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `lockfree_hnsw::AtomicNeighborList::update_with_retry`: Use update_with_retry_reclaim() with a UnifiedReclaimer instead — this method leaks memory
[INFO] [stdout]     --> src/lockfree_hnsw.rs:1024:26
[INFO] [stdout]      |
[INFO] [stdout] 1024 |                     list.update_with_retry(
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]     --> src/hnsw.rs:3631:13
[INFO] [stdout]      |
[INFO] [stdout] 3631 |         use rayon::prelude::*;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:402:25
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let v_vec = _mm_loadu_ps(tile_ptr.add(d * T));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/aosoa_tiles.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 384 |     pub unsafe fn tile_l2_squared_avx2(&self, query: &[f32], tile_idx: usize) -> [f32; T] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:402:38
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let v_vec = _mm_loadu_ps(tile_ptr.add(d * T));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_fmadd_ps` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:404:19
[INFO] [stdout]     |
[INFO] [stdout] 404 |             acc = _mm_fmadd_ps(diff, diff, acc);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: fma
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |         _mm_storeu_ps(dists.as_mut_ptr(), acc);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_dense`
[INFO] [stdout]     --> src/hnsw.rs:3209:25
[INFO] [stdout]      |
[INFO] [stdout] 3209 |                     let node_dense = node.dense_index;
[INFO] [stdout]      |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_dense`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]     --> src/hnsw.rs:3631:13
[INFO] [stdout]      |
[INFO] [stdout] 3631 |         use rayon::prelude::*;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_neighbors`
[INFO] [stdout]     --> src/hnsw.rs:5074:29
[INFO] [stdout]      |
[INFO] [stdout] 5074 |                         let n_neighbors = neighbors.len();
[INFO] [stdout]      |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_neighbors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/hnsw.rs:5076:30
[INFO] [stdout]      |
[INFO] [stdout] 5076 |                         for (i, &neighbor_dense) in neighbors.iter().enumerate() {
[INFO] [stdout]      |                              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:6898:9
[INFO] [stdout]      |
[INFO] [stdout] 6898 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:6918:9
[INFO] [stdout]      |
[INFO] [stdout] 6918 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:7058:9
[INFO] [stdout]      |
[INFO] [stdout] 7058 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:7078:9
[INFO] [stdout]      |
[INFO] [stdout] 7078 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7489:22
[INFO] [stdout]      |
[INFO] [stdout] 7489 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7475:5
[INFO] [stdout]      |
[INFO] [stdout] 7475 |     unsafe fn cosine_distance_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7489:38
[INFO] [stdout]      |
[INFO] [stdout] 7489 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7490:22
[INFO] [stdout]      |
[INFO] [stdout] 7490 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7490:38
[INFO] [stdout]      |
[INFO] [stdout] 7490 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7499:19
[INFO] [stdout]      |
[INFO] [stdout] 7499 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7500:22
[INFO] [stdout]      |
[INFO] [stdout] 7500 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7501:22
[INFO] [stdout]      |
[INFO] [stdout] 7501 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7533:23
[INFO] [stdout]      |
[INFO] [stdout] 7533 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7514:5
[INFO] [stdout]      |
[INFO] [stdout] 7514 |     unsafe fn cosine_distance_avx2_unrolled_768(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7533:39
[INFO] [stdout]      |
[INFO] [stdout] 7533 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7534:23
[INFO] [stdout]      |
[INFO] [stdout] 7534 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7534:39
[INFO] [stdout]      |
[INFO] [stdout] 7534 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7535:23
[INFO] [stdout]      |
[INFO] [stdout] 7535 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7535:39
[INFO] [stdout]      |
[INFO] [stdout] 7535 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7536:23
[INFO] [stdout]      |
[INFO] [stdout] 7536 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7536:39
[INFO] [stdout]      |
[INFO] [stdout] 7536 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7554:19
[INFO] [stdout]      |
[INFO] [stdout] 7554 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7555:22
[INFO] [stdout]      |
[INFO] [stdout] 7555 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7556:22
[INFO] [stdout]      |
[INFO] [stdout] 7556 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7588:23
[INFO] [stdout]      |
[INFO] [stdout] 7588 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7569:5
[INFO] [stdout]      |
[INFO] [stdout] 7569 |     unsafe fn cosine_distance_avx2_unrolled_1536(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7588:39
[INFO] [stdout]      |
[INFO] [stdout] 7588 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7589:23
[INFO] [stdout]      |
[INFO] [stdout] 7589 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7589:39
[INFO] [stdout]      |
[INFO] [stdout] 7589 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7590:23
[INFO] [stdout]      |
[INFO] [stdout] 7590 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7590:39
[INFO] [stdout]      |
[INFO] [stdout] 7590 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7591:23
[INFO] [stdout]      |
[INFO] [stdout] 7591 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7591:39
[INFO] [stdout]      |
[INFO] [stdout] 7591 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7607:19
[INFO] [stdout]      |
[INFO] [stdout] 7607 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7608:22
[INFO] [stdout]      |
[INFO] [stdout] 7608 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7609:22
[INFO] [stdout]      |
[INFO] [stdout] 7609 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7632:22
[INFO] [stdout]      |
[INFO] [stdout] 7632 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7621:5
[INFO] [stdout]      |
[INFO] [stdout] 7621 |     unsafe fn l2_distance_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7632:38
[INFO] [stdout]      |
[INFO] [stdout] 7632 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7633:22
[INFO] [stdout]      |
[INFO] [stdout] 7633 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7633:38
[INFO] [stdout]      |
[INFO] [stdout] 7633 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7638:9
[INFO] [stdout]      |
[INFO] [stdout] 7638 |         Self::horizontal_sum_avx2(sum).sqrt()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7654:22
[INFO] [stdout]      |
[INFO] [stdout] 7654 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7644:5
[INFO] [stdout]      |
[INFO] [stdout] 7644 |     unsafe fn l2_distance_avx2_unrolled_768(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7654:38
[INFO] [stdout]      |
[INFO] [stdout] 7654 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7655:22
[INFO] [stdout]      |
[INFO] [stdout] 7655 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7655:38
[INFO] [stdout]      |
[INFO] [stdout] 7655 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7660:9
[INFO] [stdout]      |
[INFO] [stdout] 7660 |         Self::horizontal_sum_avx2(sum).sqrt()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7676:22
[INFO] [stdout]      |
[INFO] [stdout] 7676 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7666:5
[INFO] [stdout]      |
[INFO] [stdout] 7666 |     unsafe fn dot_product_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7676:38
[INFO] [stdout]      |
[INFO] [stdout] 7676 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7677:22
[INFO] [stdout]      |
[INFO] [stdout] 7677 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7677:38
[INFO] [stdout]      |
[INFO] [stdout] 7677 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7681:9
[INFO] [stdout]      |
[INFO] [stdout] 7681 |         Self::horizontal_sum_avx2(sum)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:402:25
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let v_vec = _mm_loadu_ps(tile_ptr.add(d * T));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/aosoa_tiles.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 384 |     pub unsafe fn tile_l2_squared_avx2(&self, query: &[f32], tile_idx: usize) -> [f32; T] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:402:38
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let v_vec = _mm_loadu_ps(tile_ptr.add(d * T));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_fmadd_ps` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:404:19
[INFO] [stdout]     |
[INFO] [stdout] 404 |             acc = _mm_fmadd_ps(diff, diff, acc);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: fma
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |         _mm_storeu_ps(dists.as_mut_ptr(), acc);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reachable`
[INFO] [stdout]     --> src/hnsw.rs:8490:14
[INFO] [stdout]      |
[INFO] [stdout] 8490 |         let (reachable, total, orphans) = self.diagnose_connectivity();
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reachable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total`
[INFO] [stdout]     --> src/hnsw.rs:8490:25
[INFO] [stdout]      |
[INFO] [stdout] 8490 |         let (reachable, total, orphans) = self.diagnose_connectivity();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:431:22
[INFO] [stdout]     |
[INFO] [stdout] 431 |             let va = _mm256_loadu_ps(a.as_ptr().add(idx));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/optimized_search.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 420 |     unsafe fn euclidean_distance_avx2(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:431:38
[INFO] [stdout]     |
[INFO] [stdout] 431 |             let va = _mm256_loadu_ps(a.as_ptr().add(idx));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:432:22
[INFO] [stdout]     |
[INFO] [stdout] 432 |             let vb = _mm256_loadu_ps(b.as_ptr().add(idx));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:432:38
[INFO] [stdout]     |
[INFO] [stdout] 432 |             let vb = _mm256_loadu_ps(b.as_ptr().add(idx));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:389:22
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let va = _mm256_loadu_si256(a.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/unified_quant.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 379 |     unsafe fn dot_i8_avx2(a: &[i8], b: &[i8]) -> i32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:389:41
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let va = _mm256_loadu_si256(a.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:390:22
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let vb = _mm256_loadu_si256(b.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:390:41
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let vb = _mm256_loadu_si256(b.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_dense`
[INFO] [stdout]     --> src/hnsw.rs:3209:25
[INFO] [stdout]      |
[INFO] [stdout] 3209 |                     let node_dense = node.dense_index;
[INFO] [stdout]      |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_dense`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:188:18
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     unsafe fn blend_avx2(a: [f32; 4], b: [f32; 4], mask: SimdMask) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:189:18
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_si128` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:190:18
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let vm = _mm_loadu_si128(mask_expanded.as_ptr() as *const __m128i);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:266:18
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     unsafe fn min_avx2(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:267:18
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:313:18
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     unsafe fn max_avx2(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:474:18
[INFO] [stdout]     |
[INFO] [stdout] 474 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:459:5
[INFO] [stdout]     |
[INFO] [stdout] 459 |     unsafe fn blend_avx2(a: [f32; 8], b: [f32; 8], mask: u8) -> [f32; 8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:475:18
[INFO] [stdout]     |
[INFO] [stdout] 475 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:476:18
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let vm = _mm256_loadu_si256(mask_expanded.as_ptr() as *const __m256i);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |         _mm256_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:507:18
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 505 |     unsafe fn min_avx2(a: [f32; 8], b: [f32; 8]) -> [f32; 8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:508:18
[INFO] [stdout]     |
[INFO] [stdout] 508 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:511:9
[INFO] [stdout]     |
[INFO] [stdout] 511 |         _mm256_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:539:18
[INFO] [stdout]     |
[INFO] [stdout] 539 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:537:5
[INFO] [stdout]     |
[INFO] [stdout] 537 |     unsafe fn cmp_lt_avx2(a: [f32; 8], b: [f32; 8]) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:540:18
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     query_ptr.add(prefetch_d) as *const i8,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_batch_distance.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | /     pub unsafe fn batch_l2_squared_8x(
[INFO] [stdout] 105 | |         query: &[f32],
[INFO] [stdout] 106 | |         candidates: &[&[f32]; 8],
[INFO] [stdout] 107 | |         dimension: usize,
[INFO] [stdout] 108 | |     ) -> [f32; 8] {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:136:34
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     _mm_prefetch(c.as_ptr().add(prefetch_d) as *const i8, _MM_HINT_T0);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:141:37
[INFO] [stdout]     |
[INFO] [stdout] 141 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 152 |             process_candidate!(0, acc0);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 152 |             process_candidate!(0, acc0);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 153 |             process_candidate!(1, acc1);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 153 |             process_candidate!(1, acc1);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 154 |             process_candidate!(2, acc2);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 154 |             process_candidate!(2, acc2);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 155 |             process_candidate!(3, acc3);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 155 |             process_candidate!(3, acc3);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 156 |             process_candidate!(4, acc4);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 156 |             process_candidate!(4, acc4);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 157 |             process_candidate!(5, acc5);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 157 |             process_candidate!(5, acc5);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 158 |             process_candidate!(6, acc6);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 158 |             process_candidate!(6, acc6);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 159 |             process_candidate!(7, acc7);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 159 |             process_candidate!(7, acc7);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 let q_val = *query.get_unchecked(d);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:168:34
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     let c_val = *candidate.get_unchecked(d);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |             hsum_256(acc0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             hsum_256(acc1),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |             hsum_256(acc2),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             hsum_256(acc3),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             hsum_256(acc4),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |             hsum_256(acc5),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |             hsum_256(acc6),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |             hsum_256(acc7),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:241:30
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 _mm_prefetch(query_ptr.add(prefetch_d) as *const i8, _MM_HINT_T0);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_batch_distance.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | /     pub unsafe fn batch_dot_product_8x(
[INFO] [stdout] 218 | |         query: &[f32],
[INFO] [stdout] 219 | |         candidates: &[&[f32]; 8],
[INFO] [stdout] 220 | |         dimension: usize,
[INFO] [stdout] 221 | |     ) -> [f32; 8] {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:244:21
[INFO] [stdout]     |
[INFO] [stdout] 244 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:244:37
[INFO] [stdout]     |
[INFO] [stdout] 244 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 253 |             process_dot!(0, acc0);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 253 |             process_dot!(0, acc0);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 254 |             process_dot!(1, acc1);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 254 |             process_dot!(1, acc1);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 255 |             process_dot!(2, acc2);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 255 |             process_dot!(2, acc2);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 256 |             process_dot!(3, acc3);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 256 |             process_dot!(3, acc3);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 257 |             process_dot!(4, acc4);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 257 |             process_dot!(4, acc4);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 258 |             process_dot!(5, acc5);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 258 |             process_dot!(5, acc5);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 259 |             process_dot!(6, acc6);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 259 |             process_dot!(6, acc6);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 260 |             process_dot!(7, acc7);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 260 |             process_dot!(7, acc7);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:266:26
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let q_val = *query.get_unchecked(d);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_neighbors`
[INFO] [stdout]     --> src/hnsw.rs:5074:29
[INFO] [stdout]      |
[INFO] [stdout] 5074 |                         let n_neighbors = neighbors.len();
[INFO] [stdout]      |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_neighbors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:268:30
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 let c_val = *candidate.get_unchecked(d);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/hnsw.rs:5076:30
[INFO] [stdout]      |
[INFO] [stdout] 5076 |                         for (i, &neighbor_dense) in neighbors.iter().enumerate() {
[INFO] [stdout]      |                              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:284:13
[INFO] [stdout]     |
[INFO] [stdout] 284 |             hsum_256(acc0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             hsum_256(acc1),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |             hsum_256(acc2),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |             hsum_256(acc3),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |             hsum_256(acc4),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |             hsum_256(acc5),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 290 |             hsum_256(acc6),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |             hsum_256(acc7),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:253:19
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let va0 = _mm256_loadu_ps(a_ptr.add(base));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:236:1
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub unsafe fn l2_squared_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:253:35
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let va0 = _mm256_loadu_ps(a_ptr.add(base));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:254:19
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let vb0 = _mm256_loadu_ps(b_ptr.add(base));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:254:35
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let vb0 = _mm256_loadu_ps(b_ptr.add(base));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:258:19
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let va1 = _mm256_loadu_ps(a_ptr.add(base + 8));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:258:35
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let va1 = _mm256_loadu_ps(a_ptr.add(base + 8));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:259:19
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let vb1 = _mm256_loadu_ps(b_ptr.add(base + 8));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:259:35
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let vb1 = _mm256_loadu_ps(b_ptr.add(base + 8));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:263:19
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let va2 = _mm256_loadu_ps(a_ptr.add(base + 16));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:263:35
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let va2 = _mm256_loadu_ps(a_ptr.add(base + 16));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:264:19
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let vb2 = _mm256_loadu_ps(b_ptr.add(base + 16));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:264:35
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let vb2 = _mm256_loadu_ps(b_ptr.add(base + 16));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:268:19
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let va3 = _mm256_loadu_ps(a_ptr.add(base + 24));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:268:35
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let va3 = _mm256_loadu_ps(a_ptr.add(base + 24));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:269:19
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let vb3 = _mm256_loadu_ps(b_ptr.add(base + 24));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:269:35
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let vb3 = _mm256_loadu_ps(b_ptr.add(base + 24));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:276:18
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:276:34
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:277:18
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:277:34
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:297:43
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:319:18
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:307:1
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub unsafe fn dot_product_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:319:34
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:320:18
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:320:34
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:335:20
[INFO] [stdout]     |
[INFO] [stdout] 335 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:335:42
[INFO] [stdout]     |
[INFO] [stdout] 335 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:360:18
[INFO] [stdout]     |
[INFO] [stdout] 360 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:348:1
[INFO] [stdout]     |
[INFO] [stdout] 348 | pub unsafe fn l2_squared_sse41(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:360:31
[INFO] [stdout]     |
[INFO] [stdout] 360 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:361:18
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:361:31
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:375:21
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:375:43
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:397:18
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:385:1
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub unsafe fn dot_product_sse41(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:397:31
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:398:18
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:398:31
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:411:20
[INFO] [stdout]     |
[INFO] [stdout] 411 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:411:42
[INFO] [stdout]     |
[INFO] [stdout] 411 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:436:18
[INFO] [stdout]     |
[INFO] [stdout] 436 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:424:1
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub unsafe fn l2_squared_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:436:34
[INFO] [stdout]     |
[INFO] [stdout] 436 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:437:18
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:437:34
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:447:21
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:447:43
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:469:18
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:457:1
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub unsafe fn dot_product_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:469:34
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:470:18
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:470:34
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:479:20
[INFO] [stdout]     |
[INFO] [stdout] 479 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:479:42
[INFO] [stdout]     |
[INFO] [stdout] 479 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_distance.rs:771:26
[INFO] [stdout]     |
[INFO] [stdout] 771 |         let sum_scalar = unsafe {
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_distance.rs:791:22
[INFO] [stdout]     |
[INFO] [stdout] 791 |     let mut result = unsafe {
[INFO] [stdout]     |                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:6898:9
[INFO] [stdout]      |
[INFO] [stdout] 6898 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:6918:9
[INFO] [stdout]      |
[INFO] [stdout] 6918 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:7058:9
[INFO] [stdout]      |
[INFO] [stdout] 7058 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/hnsw.rs:7078:9
[INFO] [stdout]      |
[INFO] [stdout] 7078 |         unsafe {
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7489:22
[INFO] [stdout]      |
[INFO] [stdout] 7489 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7475:5
[INFO] [stdout]      |
[INFO] [stdout] 7475 |     unsafe fn cosine_distance_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7489:38
[INFO] [stdout]      |
[INFO] [stdout] 7489 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7490:22
[INFO] [stdout]      |
[INFO] [stdout] 7490 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7490:38
[INFO] [stdout]      |
[INFO] [stdout] 7490 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7499:19
[INFO] [stdout]      |
[INFO] [stdout] 7499 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7500:22
[INFO] [stdout]      |
[INFO] [stdout] 7500 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7501:22
[INFO] [stdout]      |
[INFO] [stdout] 7501 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7533:23
[INFO] [stdout]      |
[INFO] [stdout] 7533 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7514:5
[INFO] [stdout]      |
[INFO] [stdout] 7514 |     unsafe fn cosine_distance_avx2_unrolled_768(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7533:39
[INFO] [stdout]      |
[INFO] [stdout] 7533 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7534:23
[INFO] [stdout]      |
[INFO] [stdout] 7534 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7534:39
[INFO] [stdout]      |
[INFO] [stdout] 7534 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7535:23
[INFO] [stdout]      |
[INFO] [stdout] 7535 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7535:39
[INFO] [stdout]      |
[INFO] [stdout] 7535 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7536:23
[INFO] [stdout]      |
[INFO] [stdout] 7536 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7536:39
[INFO] [stdout]      |
[INFO] [stdout] 7536 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7554:19
[INFO] [stdout]      |
[INFO] [stdout] 7554 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7555:22
[INFO] [stdout]      |
[INFO] [stdout] 7555 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7556:22
[INFO] [stdout]      |
[INFO] [stdout] 7556 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7588:23
[INFO] [stdout]      |
[INFO] [stdout] 7588 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7569:5
[INFO] [stdout]      |
[INFO] [stdout] 7569 |     unsafe fn cosine_distance_avx2_unrolled_1536(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7588:39
[INFO] [stdout]      |
[INFO] [stdout] 7588 |             let va0 = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7589:23
[INFO] [stdout]      |
[INFO] [stdout] 7589 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7589:39
[INFO] [stdout]      |
[INFO] [stdout] 7589 |             let vb0 = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7590:23
[INFO] [stdout]      |
[INFO] [stdout] 7590 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7590:39
[INFO] [stdout]      |
[INFO] [stdout] 7590 |             let va1 = _mm256_loadu_ps(a_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7591:23
[INFO] [stdout]      |
[INFO] [stdout] 7591 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7591:39
[INFO] [stdout]      |
[INFO] [stdout] 7591 |             let vb1 = _mm256_loadu_ps(b_ptr.add(i + 8));
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7607:19
[INFO] [stdout]      |
[INFO] [stdout] 7607 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7608:22
[INFO] [stdout]      |
[INFO] [stdout] 7608 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7609:22
[INFO] [stdout]      |
[INFO] [stdout] 7609 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7632:22
[INFO] [stdout]      |
[INFO] [stdout] 7632 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7621:5
[INFO] [stdout]      |
[INFO] [stdout] 7621 |     unsafe fn l2_distance_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7632:38
[INFO] [stdout]      |
[INFO] [stdout] 7632 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7633:22
[INFO] [stdout]      |
[INFO] [stdout] 7633 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7633:38
[INFO] [stdout]      |
[INFO] [stdout] 7633 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7638:9
[INFO] [stdout]      |
[INFO] [stdout] 7638 |         Self::horizontal_sum_avx2(sum).sqrt()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7654:22
[INFO] [stdout]      |
[INFO] [stdout] 7654 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7644:5
[INFO] [stdout]      |
[INFO] [stdout] 7644 |     unsafe fn l2_distance_avx2_unrolled_768(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7654:38
[INFO] [stdout]      |
[INFO] [stdout] 7654 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7655:22
[INFO] [stdout]      |
[INFO] [stdout] 7655 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7655:38
[INFO] [stdout]      |
[INFO] [stdout] 7655 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7660:9
[INFO] [stdout]      |
[INFO] [stdout] 7660 |         Self::horizontal_sum_avx2(sum).sqrt()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7676:22
[INFO] [stdout]      |
[INFO] [stdout] 7676 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:7666:5
[INFO] [stdout]      |
[INFO] [stdout] 7666 |     unsafe fn dot_product_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7676:38
[INFO] [stdout]      |
[INFO] [stdout] 7676 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7677:22
[INFO] [stdout]      |
[INFO] [stdout] 7677 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7677:38
[INFO] [stdout]      |
[INFO] [stdout] 7677 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:7681:9
[INFO] [stdout]      |
[INFO] [stdout] 7681 |         Self::horizontal_sum_avx2(sum)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reachable`
[INFO] [stdout]     --> src/hnsw.rs:8490:14
[INFO] [stdout]      |
[INFO] [stdout] 8490 |         let (reachable, total, orphans) = self.diagnose_connectivity();
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reachable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total`
[INFO] [stdout]     --> src/hnsw.rs:8490:25
[INFO] [stdout]      |
[INFO] [stdout] 8490 |         let (reachable, total, orphans) = self.diagnose_connectivity();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FastCandidate` is more private than the item `ScratchBuffers::fast_candidates`
[INFO] [stdout]    --> src/scratch_buffers.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fast_candidates: BinaryHeap<FastCandidate>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ScratchBuffers::fast_candidates` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FastCandidate` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/hnsw.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | pub(crate) struct FastCandidate {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FastCandidate` is more private than the item `ScratchBuffers::fast_results_heap`
[INFO] [stdout]    --> src/scratch_buffers.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub fast_results_heap: BinaryHeap<Reverse<FastCandidate>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ScratchBuffers::fast_results_heap` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FastCandidate` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/hnsw.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | pub(crate) struct FastCandidate {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `needs_refinement` is never read
[INFO] [stdout]     --> src/hnsw.rs:2198:16
[INFO] [stdout]      |
[INFO] [stdout] 2144 | pub struct HnswIndex {
[INFO] [stdout]      |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2198 |     pub(crate) needs_refinement: AtomicBool,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_node_by_dense`, `connect_node_fast_profiled`, `search_layer_fast`, and `process_neighbors_with_prefetch` are never used
[INFO] [stdout]     --> src/hnsw.rs:2328:19
[INFO] [stdout]      |
[INFO] [stdout] 2230 | impl HnswIndex {
[INFO] [stdout]      | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2328 |     pub(crate) fn get_node_by_dense(&self, dense_index: u32) -> Option<Arc<HnswNode>> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3764 |     fn connect_node_fast_profiled(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5149 |     fn search_layer_fast(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6646 |     fn process_neighbors_with_prefetch(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/simd_distance.rs:784:17
[INFO] [stdout]     |
[INFO] [stdout] 784 |                 sum_scalar + diff * diff;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 784 |                 let _ = sum_scalar + diff * diff;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_vector`
[INFO] [stdout]     --> src/lockfree_hnsw.rs:1185:13
[INFO] [stdout]      |
[INFO] [stdout] 1185 |         let base_vector = DynamicQuantizedVector::from_f32(&[0.5; TEST_DIM]);
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:431:22
[INFO] [stdout]     |
[INFO] [stdout] 431 |             let va = _mm256_loadu_ps(a.as_ptr().add(idx));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/optimized_search.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 420 |     unsafe fn euclidean_distance_avx2(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:431:38
[INFO] [stdout]     |
[INFO] [stdout] 431 |             let va = _mm256_loadu_ps(a.as_ptr().add(idx));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:432:22
[INFO] [stdout]     |
[INFO] [stdout] 432 |             let vb = _mm256_loadu_ps(b.as_ptr().add(idx));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:432:38
[INFO] [stdout]     |
[INFO] [stdout] 432 |             let vb = _mm256_loadu_ps(b.as_ptr().add(idx));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unified_search.rs:650:13
[INFO] [stdout]     |
[INFO] [stdout] 650 |         let mut id_mapper = IdMapper::new();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:389:22
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let va = _mm256_loadu_si256(a.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/unified_quant.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 379 |     unsafe fn dot_i8_avx2(a: &[i8], b: &[i8]) -> i32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:389:41
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let va = _mm256_loadu_si256(a.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:390:22
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let vb = _mm256_loadu_si256(b.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:390:41
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let vb = _mm256_loadu_si256(b.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:188:18
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     unsafe fn blend_avx2(a: [f32; 4], b: [f32; 4], mask: SimdMask) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:189:18
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_si128` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:190:18
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let vm = _mm_loadu_si128(mask_expanded.as_ptr() as *const __m128i);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:266:18
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     unsafe fn min_avx2(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:267:18
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:313:18
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     unsafe fn max_avx2(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:474:18
[INFO] [stdout]     |
[INFO] [stdout] 474 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:459:5
[INFO] [stdout]     |
[INFO] [stdout] 459 |     unsafe fn blend_avx2(a: [f32; 8], b: [f32; 8], mask: u8) -> [f32; 8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:475:18
[INFO] [stdout]     |
[INFO] [stdout] 475 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:476:18
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let vm = _mm256_loadu_si256(mask_expanded.as_ptr() as *const __m256i);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |         _mm256_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:507:18
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 505 |     unsafe fn min_avx2(a: [f32; 8], b: [f32; 8]) -> [f32; 8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:508:18
[INFO] [stdout]     |
[INFO] [stdout] 508 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:511:9
[INFO] [stdout]     |
[INFO] [stdout] 511 |         _mm256_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:539:18
[INFO] [stdout]     |
[INFO] [stdout] 539 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:537:5
[INFO] [stdout]     |
[INFO] [stdout] 537 |     unsafe fn cmp_lt_avx2(a: [f32; 8], b: [f32; 8]) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:540:18
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     query_ptr.add(prefetch_d) as *const i8,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_batch_distance.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | /     pub unsafe fn batch_l2_squared_8x(
[INFO] [stdout] 105 | |         query: &[f32],
[INFO] [stdout] 106 | |         candidates: &[&[f32]; 8],
[INFO] [stdout] 107 | |         dimension: usize,
[INFO] [stdout] 108 | |     ) -> [f32; 8] {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:136:34
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     _mm_prefetch(c.as_ptr().add(prefetch_d) as *const i8, _MM_HINT_T0);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:141:37
[INFO] [stdout]     |
[INFO] [stdout] 141 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 152 |             process_candidate!(0, acc0);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 152 |             process_candidate!(0, acc0);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 153 |             process_candidate!(1, acc1);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 153 |             process_candidate!(1, acc1);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 154 |             process_candidate!(2, acc2);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 154 |             process_candidate!(2, acc2);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 155 |             process_candidate!(3, acc3);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 155 |             process_candidate!(3, acc3);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 156 |             process_candidate!(4, acc4);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 156 |             process_candidate!(4, acc4);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 157 |             process_candidate!(5, acc5);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 157 |             process_candidate!(5, acc5);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 158 |             process_candidate!(6, acc6);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 158 |             process_candidate!(6, acc6);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 159 |             process_candidate!(7, acc7);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:146:45
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 159 |             process_candidate!(7, acc7);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 let q_val = *query.get_unchecked(d);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:168:34
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     let c_val = *candidate.get_unchecked(d);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |             hsum_256(acc0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             hsum_256(acc1),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |             hsum_256(acc2),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             hsum_256(acc3),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             hsum_256(acc4),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |             hsum_256(acc5),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |             hsum_256(acc6),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |             hsum_256(acc7),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:241:30
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 _mm_prefetch(query_ptr.add(prefetch_d) as *const i8, _MM_HINT_T0);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_batch_distance.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | /     pub unsafe fn batch_dot_product_8x(
[INFO] [stdout] 218 | |         query: &[f32],
[INFO] [stdout] 219 | |         candidates: &[&[f32]; 8],
[INFO] [stdout] 220 | |         dimension: usize,
[INFO] [stdout] 221 | |     ) -> [f32; 8] {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:244:21
[INFO] [stdout]     |
[INFO] [stdout] 244 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:244:37
[INFO] [stdout]     |
[INFO] [stdout] 244 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 253 |             process_dot!(0, acc0);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 253 |             process_dot!(0, acc0);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 254 |             process_dot!(1, acc1);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 254 |             process_dot!(1, acc1);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 255 |             process_dot!(2, acc2);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 255 |             process_dot!(2, acc2);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 256 |             process_dot!(3, acc3);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 256 |             process_dot!(3, acc3);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 257 |             process_dot!(4, acc4);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 257 |             process_dot!(4, acc4);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 258 |             process_dot!(5, acc5);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 258 |             process_dot!(5, acc5);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 259 |             process_dot!(6, acc6);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 259 |             process_dot!(6, acc6);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 260 |             process_dot!(7, acc7);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 260 |             process_dot!(7, acc7);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:266:26
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let q_val = *query.get_unchecked(d);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:268:30
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 let c_val = *candidate.get_unchecked(d);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:284:13
[INFO] [stdout]     |
[INFO] [stdout] 284 |             hsum_256(acc0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             hsum_256(acc1),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |             hsum_256(acc2),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |             hsum_256(acc3),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |             hsum_256(acc4),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |             hsum_256(acc5),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 290 |             hsum_256(acc6),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |             hsum_256(acc7),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:253:19
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let va0 = _mm256_loadu_ps(a_ptr.add(base));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:236:1
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub unsafe fn l2_squared_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:253:35
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let va0 = _mm256_loadu_ps(a_ptr.add(base));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:254:19
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let vb0 = _mm256_loadu_ps(b_ptr.add(base));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:254:35
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let vb0 = _mm256_loadu_ps(b_ptr.add(base));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:258:19
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let va1 = _mm256_loadu_ps(a_ptr.add(base + 8));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:258:35
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let va1 = _mm256_loadu_ps(a_ptr.add(base + 8));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:259:19
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let vb1 = _mm256_loadu_ps(b_ptr.add(base + 8));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:259:35
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let vb1 = _mm256_loadu_ps(b_ptr.add(base + 8));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:263:19
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let va2 = _mm256_loadu_ps(a_ptr.add(base + 16));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:263:35
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let va2 = _mm256_loadu_ps(a_ptr.add(base + 16));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:264:19
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let vb2 = _mm256_loadu_ps(b_ptr.add(base + 16));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:264:35
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let vb2 = _mm256_loadu_ps(b_ptr.add(base + 16));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:268:19
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let va3 = _mm256_loadu_ps(a_ptr.add(base + 24));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:268:35
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let va3 = _mm256_loadu_ps(a_ptr.add(base + 24));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:269:19
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let vb3 = _mm256_loadu_ps(b_ptr.add(base + 24));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:269:35
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let vb3 = _mm256_loadu_ps(b_ptr.add(base + 24));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:276:18
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:276:34
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:277:18
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:277:34
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:297:43
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:319:18
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:307:1
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub unsafe fn dot_product_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:319:34
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:320:18
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:320:34
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:335:20
[INFO] [stdout]     |
[INFO] [stdout] 335 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:335:42
[INFO] [stdout]     |
[INFO] [stdout] 335 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:360:18
[INFO] [stdout]     |
[INFO] [stdout] 360 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:348:1
[INFO] [stdout]     |
[INFO] [stdout] 348 | pub unsafe fn l2_squared_sse41(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:360:31
[INFO] [stdout]     |
[INFO] [stdout] 360 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:361:18
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:361:31
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:375:21
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:375:43
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:397:18
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:385:1
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub unsafe fn dot_product_sse41(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:397:31
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:398:18
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:398:31
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:411:20
[INFO] [stdout]     |
[INFO] [stdout] 411 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:411:42
[INFO] [stdout]     |
[INFO] [stdout] 411 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:436:18
[INFO] [stdout]     |
[INFO] [stdout] 436 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:424:1
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub unsafe fn l2_squared_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:436:34
[INFO] [stdout]     |
[INFO] [stdout] 436 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:437:18
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:437:34
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:447:21
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:447:43
[INFO] [stdout]     |
[INFO] [stdout] 447 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:469:18
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:457:1
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub unsafe fn dot_product_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:469:34
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:470:18
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:470:34
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:479:20
[INFO] [stdout]     |
[INFO] [stdout] 479 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:479:42
[INFO] [stdout]     |
[INFO] [stdout] 479 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_distance.rs:771:26
[INFO] [stdout]     |
[INFO] [stdout] 771 |         let sum_scalar = unsafe {
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_distance.rs:791:22
[INFO] [stdout]     |
[INFO] [stdout] 791 |     let mut result = unsafe {
[INFO] [stdout]     |                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `hnsw::FastCandidate` is more private than the item `ScratchBuffers::fast_candidates`
[INFO] [stdout]    --> src/scratch_buffers.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fast_candidates: BinaryHeap<FastCandidate>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ScratchBuffers::fast_candidates` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `hnsw::FastCandidate` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/hnsw.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | pub(crate) struct FastCandidate {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `hnsw::FastCandidate` is more private than the item `ScratchBuffers::fast_results_heap`
[INFO] [stdout]    --> src/scratch_buffers.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub fast_results_heap: BinaryHeap<Reverse<FastCandidate>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ScratchBuffers::fast_results_heap` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `hnsw::FastCandidate` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/hnsw.rs:927:1
[INFO] [stdout]     |
[INFO] [stdout] 927 | pub(crate) struct FastCandidate {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `needs_refinement` is never read
[INFO] [stdout]     --> src/hnsw.rs:2198:16
[INFO] [stdout]      |
[INFO] [stdout] 2144 | pub struct HnswIndex {
[INFO] [stdout]      |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2198 |     pub(crate) needs_refinement: AtomicBool,
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_node_by_dense`, `connect_node_fast_profiled`, `search_layer_fast`, and `process_neighbors_with_prefetch` are never used
[INFO] [stdout]     --> src/hnsw.rs:2328:19
[INFO] [stdout]      |
[INFO] [stdout] 2230 | impl HnswIndex {
[INFO] [stdout]      | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2328 |     pub(crate) fn get_node_by_dense(&self, dense_index: u32) -> Option<Arc<HnswNode>> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3764 |     fn connect_node_fast_profiled(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5149 |     fn search_layer_fast(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6646 |     fn process_neighbors_with_prefetch(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/simd_distance.rs:784:17
[INFO] [stdout]     |
[INFO] [stdout] 784 |                 sum_scalar + diff * diff;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 784 |                 let _ = sum_scalar + diff * diff;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Reverse`
[INFO] [stdout]  --> src/bin/micro_bench.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cmp::Reverse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Reverse`
[INFO] [stdout]  --> src/bin/micro_bench.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cmp::Reverse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]  --> src/bin/profile_hotpath.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]  --> src/bin/profile_hotpath.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/profile_hotpath.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut times_distance: Vec<Duration> = Vec::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `times_distance`
[INFO] [stdout]    --> src/bin/profile_hotpath.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut times_distance: Vec<Duration> = Vec::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_times_distance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/profile_hotpath.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut times_distance: Vec<Duration> = Vec::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `times_distance`
[INFO] [stdout]    --> src/bin/profile_hotpath.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut times_distance: Vec<Duration> = Vec::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_times_distance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DISTANCE_CALLS` is never used
[INFO] [stdout]   --> src/bin/profile_hotpath.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | static DISTANCE_CALLS: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HEAP_PUSHES` is never used
[INFO] [stdout]   --> src/bin/profile_hotpath.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | static HEAP_PUSHES: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `VISITED_CHECKS` is never used
[INFO] [stdout]   --> src/bin/profile_hotpath.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | static VISITED_CHECKS: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DISTANCE_CALLS` is never used
[INFO] [stdout]   --> src/bin/profile_hotpath.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | static DISTANCE_CALLS: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HEAP_PUSHES` is never used
[INFO] [stdout]   --> src/bin/profile_hotpath.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | static HEAP_PUSHES: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `VISITED_CHECKS` is never used
[INFO] [stdout]   --> src/bin/profile_hotpath.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | static VISITED_CHECKS: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sochdb-index` (lib test); 234 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/beta-2026-04-21-x86_64-unknown-linux-gnu/bin/rustc --crate-name sochdb_index --edition=2024 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --cfg 'feature="default"' --cfg 'feature="local-embeddings"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("async", "default", "fastembed-embeddings", "llm-embeddings", "local-embeddings"))' -C metadata=d049d334eec268a8 -C extra-filename=-c6dccb4bdee9fc94 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern array_init=/opt/rustwide/target/debug/deps/libarray_init-2533cc3c003a5019.rlib --extern arrayvec=/opt/rustwide/target/debug/deps/libarrayvec-ff2a04082732a9b8.rlib --extern arrow=/opt/rustwide/target/debug/deps/libarrow-ff4147b2a06bee31.rlib --extern bincode=/opt/rustwide/target/debug/deps/libbincode-56bea551c95bd7e9.rlib --extern blake3=/opt/rustwide/target/debug/deps/libblake3-286a1ef6c83e8613.rlib --extern crc32fast=/opt/rustwide/target/debug/deps/libcrc32fast-6a12d0129be5e8d8.rlib --extern criterion=/opt/rustwide/target/debug/deps/libcriterion-11170cafc04fa24d.rlib --extern crossbeam_channel=/opt/rustwide/target/debug/deps/libcrossbeam_channel-b65bac408cf89796.rlib --extern dashmap=/opt/rustwide/target/debug/deps/libdashmap-e187dce7868c914b.rlib --extern dirs=/opt/rustwide/target/debug/deps/libdirs-da19bb48f44d261f.rlib --extern flate2=/opt/rustwide/target/debug/deps/libflate2-d785ca8bb1649cf9.rlib --extern half=/opt/rustwide/target/debug/deps/libhalf-8c5c8c53dbe7f7c1.rlib --extern lazy_static=/opt/rustwide/target/debug/deps/liblazy_static-58edaf41543212f3.rlib --extern memmap2=/opt/rustwide/target/debug/deps/libmemmap2-f219ccfa20a3232d.rlib --extern moka=/opt/rustwide/target/debug/deps/libmoka-a1c52a71eee15146.rlib --extern ndarray=/opt/rustwide/target/debug/deps/libndarray-fac49107aec92119.rlib --extern ordered_float=/opt/rustwide/target/debug/deps/libordered_float-5c92deaa7a323b64.rlib --extern parking_lot=/opt/rustwide/target/debug/deps/libparking_lot-18efc8d060ea1d7e.rlib --extern prometheus=/opt/rustwide/target/debug/deps/libprometheus-abd7538890644f58.rlib --extern proptest=/opt/rustwide/target/debug/deps/libproptest-b69b3bea3c0cc0c6.rlib --extern rand=/opt/rustwide/target/debug/deps/librand-e7ed809571680cc0.rlib --extern rand_chacha=/opt/rustwide/target/debug/deps/librand_chacha-a75fc8692f89b968.rlib --extern rayon=/opt/rustwide/target/debug/deps/librayon-26a868b48431db5e.rlib --extern serde=/opt/rustwide/target/debug/deps/libserde-9e8c8d252b4b9591.rlib --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-a451d2db399ebf69.rlib --extern sha2=/opt/rustwide/target/debug/deps/libsha2-622c163c4ae47423.rlib --extern smallvec=/opt/rustwide/target/debug/deps/libsmallvec-5ad4aafa384ff9e8.rlib --extern sochdb_core=/opt/rustwide/target/debug/deps/libsochdb_core-80fa7d6d6de0d1de.rlib --extern tempfile=/opt/rustwide/target/debug/deps/libtempfile-442ec17f18ceca22.rlib --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-8321bcbc656d6383.rlib --extern tracing=/opt/rustwide/target/debug/deps/libtracing-10c8ed5ceff1aab1.rlib --cap-lints=warn -L native=/opt/rustwide/target/debug/build/blake3-cfc250dc88dc9fd8/out -L native=/opt/rustwide/target/debug/build/blake3-cfc250dc88dc9fd8/out -L native=/opt/rustwide/target/debug/build/lz4-sys-a28600155e8d31c5/out -L native=/opt/rustwide/target/debug/build/zstd-sys-93ad23448aaf91d6/out` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/opt/rustwide/target/debug/deps/rustcI79FbE/symbols.o" "<3 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-*,libgetopts-*,librustc_std_workspace_std-*}.rlib" "/opt/rustwide/target/debug/deps/{libsochdb_index,libdirs-da19bb48f44d261f,libdirs_sys-cd699f488b385a4f,liboption_ext-fd15afac2aba4923,libarray_init-2533cc3c003a5019,libtracing-10c8ed5ceff1aab1,libpin_project_lite-dbd15b1f007a2c34,libtracing_core-2e067b6e4fd52e2b,libarrow-ff4147b2a06bee31,libarrow_row-2cd795910bf6b92b,libarrow_ipc-6a243925febc4318,libflatbuffers-deaafee5b1f967f5,libbitflags-a9851ebd0ab18f47,libarrow_string-9c744654e0b65e14,libregex-5ce77abb75141c4c,libregex_automata-3b93fb9bbcbf76d9,libaho_corasick-81410deddce382ce,libregex_syntax-2cfdfc3e5cb17812,libarrow_cast-61ec944812a0c31c,libatoi-26ff220a423d0061,libryu-7c364cfb94c444f7,libbase64-29d4d4232c317d5e,liblexical_core-e822e8bbd71c9263,liblexical_write_float-093840555c10243c,liblexical_write_integer-a75d34443c0dc770,liblexical_parse_float-84716db9daf9b420,liblexical_parse_integer-c0b7ad52e83cf8ac,liblexical_util-883d7182fd40e7ba,libarrow_arith-959ff82d092873d4,libarrow_ord-94c352626bc43f59,libarrow_select-38fc6c813731540f,libarrow_array-1d2fc55fcf5584f8,libahash-fa81da5bffb03f8b,libgetrandom-215c6328b608fcbf,libhashbrown-0750614495cfd116,libchrono-8175c003ce1dabf7,libiana_time_zone-e8fde29fdad667ba,libarrow_data-b5431275d8841ed3,libarrow_schema-58ed8057f1772e0e,libarrow_buffer-12ae8c124e4d5e0a,libbytes-00a102391b5f478f,libnum-f7a54327416957d4,libnum_iter-f027f14b214a83f0,libnum_rational-300532e61525c3c3,libnum_bigint-b4c222f39f4f0431,libflate2-d785ca8bb1649cf9,libminiz_oxide-fa76d4b22f471178,libsimd_adler32-a364b60822995702,libprometheus-abd7538890644f58,libfnv-bf8b415be0978c3b,liblazy_static-58edaf41543212f3,libndarray-fac49107aec92119,libmatrixmultiply-888ac1fc448a6dd8,libnum_complex-de0c8bf7edc03476,libnum_integer-d1e11c4c7bbb0368,librawpointer-77278abf625c2396,librand-e7ed809571680cc0,librand_chacha-a75fc8692f89b968,libppv_lite86-07d4e95725af062a,librand_core-a579c1051c84bc61,libgetrandom-69f78ed9aaac01dd,librayon-26a868b48431db5e,librayon_core-000196800eb9d923,libcrossbeam_deque-90dfccfe0cc0662c,libeither-415b250dd7beb7ac,libordered_float-5c92deaa7a323b64,libsha2-622c163c4ae47423,libcpufeatures-42612946e83e041b,libdigest-770cf86153c7af31,libblock_buffer-b7ffaf038137363e,libcrypto_common-1851b6c36303667a,libgeneric_array-54e3491f9ba8d8d0,libtypenum-0ff6aac9c9cbf9ec,libhalf-8c5c8c53dbe7f7c1,libnum_traits-551d7e3effd11bdb,libzerocopy-b75d2c8715adc946,libmemmap2-f219ccfa20a3232d,libmoka-a1c52a71eee15146,libportable_atomic-76fcfe984c54357a,libtagptr-ace3f52256567d79,libcrossbeam_epoch-45fc60ec954fb79c,libuuid-2ee9664060f3dfdc,libgetrandom-2b981626d55da5ec,libcrossbeam_channel-b65bac408cf89796,libcrossbeam_utils-d120373eaebf0872,libsochdb_core-80fa7d6d6de0d1de,libhex-aa11f1b7b510398f,libblake3-286a1ef6c83e8613,libconstant_time_eq-75523017299f1a28,libcpufeatures-37e62768f95a7272,libarrayvec-ff2a04082732a9b8,libarrayref-31df403dfa5725c1,libbincode-56bea551c95bd7e9,libzstd-1362907342c783f9,libzstd_safe-ebb3c2c58b8911cc,libzstd_sys-0436726f6b363358,liblz4-790216fcbc4bcad0,liblz4_sys-f0e3730b43a8d755,libcrc32fast-6a12d0129be5e8d8,libtoon_format-36b0045d6c9f4931,libthiserror-1b400a730a348994,libserde_json-a451d2db399ebf69,libmemchr-19f85ccd2b063f07,libitoa-c3f3678fd0b86a79,libzmij-32087f229b5896fd,libindexmap-929dd02fad068ac3,libequivalent-2f5434284319e1e1,libhashbrown-8efbfc8b0f4264c8,libthiserror-8321bcbc656d6383,libdashmap-e187dce7868c914b,libonce_cell-0ac012fec71d6948,libhashbrown-031197f91b712133,libparking_lot-18efc8d060ea1d7e,libparking_lot_core-a0bdf03fd17de993,liblibc-4be905c164757f9f,libcfg_if-73907a425b6e514e,libsmallvec-5ad4aafa384ff9e8,libserde-9e8c8d252b4b9591,libserde_core-2c931dd3fb8fd185,liblock_api-74619001a0e54eab,libscopeguard-96105b3e6a714ed4,libbyteorder-0d5229b4099d70a3}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/opt/rustwide/target/debug/deps/rustcI79FbE/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/blake3-cfc250dc88dc9fd8/out" "-L" "/opt/rustwide/target/debug/build/lz4-sys-a28600155e8d31c5/out" "-L" "/opt/rustwide/target/debug/build/zstd-sys-93ad23448aaf91d6/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/integration_tests-250c5e22526f1767" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sochdb-index` (test "integration_tests") due to 1 previous error
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/opt/rustwide/target/debug/deps/rustc08YBri/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-*,libgetopts-*,librustc_std_workspace_std-*}.rlib" "/opt/rustwide/target/debug/deps/{libsochdb_index,libdirs-da19bb48f44d261f,libdirs_sys-cd699f488b385a4f,liboption_ext-fd15afac2aba4923,libarray_init-2533cc3c003a5019,libtracing-10c8ed5ceff1aab1,libpin_project_lite-dbd15b1f007a2c34,libtracing_core-2e067b6e4fd52e2b,libarrow-ff4147b2a06bee31,libarrow_row-2cd795910bf6b92b,libarrow_ipc-6a243925febc4318,libflatbuffers-deaafee5b1f967f5,libbitflags-a9851ebd0ab18f47,libarrow_string-9c744654e0b65e14,libregex-5ce77abb75141c4c,libregex_automata-3b93fb9bbcbf76d9,libaho_corasick-81410deddce382ce,libregex_syntax-2cfdfc3e5cb17812,libarrow_cast-61ec944812a0c31c,libatoi-26ff220a423d0061,libryu-7c364cfb94c444f7,libbase64-29d4d4232c317d5e,liblexical_core-e822e8bbd71c9263,liblexical_write_float-093840555c10243c,liblexical_write_integer-a75d34443c0dc770,liblexical_parse_float-84716db9daf9b420,liblexical_parse_integer-c0b7ad52e83cf8ac,liblexical_util-883d7182fd40e7ba,libarrow_arith-959ff82d092873d4,libarrow_ord-94c352626bc43f59,libarrow_select-38fc6c813731540f,libarrow_array-1d2fc55fcf5584f8,libahash-fa81da5bffb03f8b,libgetrandom-215c6328b608fcbf,libhashbrown-0750614495cfd116,libchrono-8175c003ce1dabf7,libiana_time_zone-e8fde29fdad667ba,libarrow_data-b5431275d8841ed3,libarrow_schema-58ed8057f1772e0e,libarrow_buffer-12ae8c124e4d5e0a,libbytes-00a102391b5f478f,libnum-f7a54327416957d4,libnum_iter-f027f14b214a83f0,libnum_rational-300532e61525c3c3,libnum_bigint-b4c222f39f4f0431,libflate2-d785ca8bb1649cf9,libminiz_oxide-fa76d4b22f471178,libsimd_adler32-a364b60822995702,libprometheus-abd7538890644f58,libfnv-bf8b415be0978c3b,liblazy_static-58edaf41543212f3,libndarray-fac49107aec92119,libmatrixmultiply-888ac1fc448a6dd8,libnum_complex-de0c8bf7edc03476,libnum_integer-d1e11c4c7bbb0368,librawpointer-77278abf625c2396,librand-e7ed809571680cc0,librand_chacha-a75fc8692f89b968,libppv_lite86-07d4e95725af062a,librand_core-a579c1051c84bc61,libgetrandom-69f78ed9aaac01dd,librayon-26a868b48431db5e,librayon_core-000196800eb9d923,libcrossbeam_deque-90dfccfe0cc0662c,libeither-415b250dd7beb7ac,libordered_float-5c92deaa7a323b64,libsha2-622c163c4ae47423,libcpufeatures-42612946e83e041b,libdigest-770cf86153c7af31,libblock_buffer-b7ffaf038137363e,libcrypto_common-1851b6c36303667a,libgeneric_array-54e3491f9ba8d8d0,libtypenum-0ff6aac9c9cbf9ec,libhalf-8c5c8c53dbe7f7c1,libnum_traits-551d7e3effd11bdb,libzerocopy-b75d2c8715adc946,libmoka-a1c52a71eee15146,libportable_atomic-76fcfe984c54357a,libtagptr-ace3f52256567d79,libcrossbeam_epoch-45fc60ec954fb79c,libuuid-2ee9664060f3dfdc,libgetrandom-2b981626d55da5ec,libcrossbeam_channel-b65bac408cf89796,libcrossbeam_utils-d120373eaebf0872,libsochdb_core-80fa7d6d6de0d1de,libhex-aa11f1b7b510398f,libblake3-286a1ef6c83e8613,libconstant_time_eq-75523017299f1a28,libcpufeatures-37e62768f95a7272,libarrayvec-ff2a04082732a9b8,libarrayref-31df403dfa5725c1,libbincode-56bea551c95bd7e9,libzstd-1362907342c783f9,libzstd_safe-ebb3c2c58b8911cc,libzstd_sys-0436726f6b363358,liblz4-790216fcbc4bcad0,liblz4_sys-f0e3730b43a8d755,libcrc32fast-6a12d0129be5e8d8,libtoon_format-36b0045d6c9f4931,libthiserror-1b400a730a348994,libserde_json-a451d2db399ebf69,libmemchr-19f85ccd2b063f07,libitoa-c3f3678fd0b86a79,libzmij-32087f229b5896fd,libindexmap-929dd02fad068ac3,libequivalent-2f5434284319e1e1,libhashbrown-8efbfc8b0f4264c8,libthiserror-8321bcbc656d6383,libdashmap-e187dce7868c914b,libonce_cell-0ac012fec71d6948,libhashbrown-031197f91b712133,libparking_lot-18efc8d060ea1d7e,libparking_lot_core-a0bdf03fd17de993,libcfg_if-73907a425b6e514e,libsmallvec-5ad4aafa384ff9e8,libserde-9e8c8d252b4b9591,libserde_core-2c931dd3fb8fd185,liblock_api-74619001a0e54eab,libscopeguard-96105b3e6a714ed4,libbyteorder-0d5229b4099d70a3,libmemmap2-f219ccfa20a3232d,liblibc-4be905c164757f9f}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/opt/rustwide/target/debug/deps/rustc08YBri/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/blake3-cfc250dc88dc9fd8/out" "-L" "/opt/rustwide/target/debug/build/lz4-sys-a28600155e8d31c5/out" "-L" "/opt/rustwide/target/debug/build/zstd-sys-93ad23448aaf91d6/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/bulk_load-442a5e8211ea3308" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sochdb-index` (bin "bulk-load" test) due to 1 previous error
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/opt/rustwide/target/debug/deps/rustcKT0Ei9/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-*,libgetopts-*,librustc_std_workspace_std-*}.rlib" "/opt/rustwide/target/debug/deps/{libsochdb_index,libdirs-da19bb48f44d261f,libdirs_sys-cd699f488b385a4f,liboption_ext-fd15afac2aba4923,libarray_init-2533cc3c003a5019,libtracing-10c8ed5ceff1aab1,libpin_project_lite-dbd15b1f007a2c34,libtracing_core-2e067b6e4fd52e2b,libarrow-ff4147b2a06bee31,libarrow_row-2cd795910bf6b92b,libarrow_ipc-6a243925febc4318,libflatbuffers-deaafee5b1f967f5,libbitflags-a9851ebd0ab18f47,libarrow_string-9c744654e0b65e14,libregex-5ce77abb75141c4c,libregex_automata-3b93fb9bbcbf76d9,libaho_corasick-81410deddce382ce,libregex_syntax-2cfdfc3e5cb17812,libarrow_cast-61ec944812a0c31c,libatoi-26ff220a423d0061,libryu-7c364cfb94c444f7,libbase64-29d4d4232c317d5e,liblexical_core-e822e8bbd71c9263,liblexical_write_float-093840555c10243c,liblexical_write_integer-a75d34443c0dc770,liblexical_parse_float-84716db9daf9b420,liblexical_parse_integer-c0b7ad52e83cf8ac,liblexical_util-883d7182fd40e7ba,libarrow_arith-959ff82d092873d4,libarrow_ord-94c352626bc43f59,libarrow_select-38fc6c813731540f,libarrow_array-1d2fc55fcf5584f8,libahash-fa81da5bffb03f8b,libgetrandom-215c6328b608fcbf,libhashbrown-0750614495cfd116,libchrono-8175c003ce1dabf7,libiana_time_zone-e8fde29fdad667ba,libarrow_data-b5431275d8841ed3,libarrow_schema-58ed8057f1772e0e,libarrow_buffer-12ae8c124e4d5e0a,libbytes-00a102391b5f478f,libnum-f7a54327416957d4,libnum_iter-f027f14b214a83f0,libnum_rational-300532e61525c3c3,libnum_bigint-b4c222f39f4f0431,libflate2-d785ca8bb1649cf9,libminiz_oxide-fa76d4b22f471178,libsimd_adler32-a364b60822995702,libprometheus-abd7538890644f58,libfnv-bf8b415be0978c3b,liblazy_static-58edaf41543212f3,libndarray-fac49107aec92119,libmatrixmultiply-888ac1fc448a6dd8,libnum_complex-de0c8bf7edc03476,libnum_integer-d1e11c4c7bbb0368,librawpointer-77278abf625c2396,librand-e7ed809571680cc0,librand_chacha-a75fc8692f89b968,libppv_lite86-07d4e95725af062a,librand_core-a579c1051c84bc61,libgetrandom-69f78ed9aaac01dd,librayon-26a868b48431db5e,librayon_core-000196800eb9d923,libcrossbeam_deque-90dfccfe0cc0662c,libeither-415b250dd7beb7ac,libordered_float-5c92deaa7a323b64,libsha2-622c163c4ae47423,libcpufeatures-42612946e83e041b,libdigest-770cf86153c7af31,libblock_buffer-b7ffaf038137363e,libcrypto_common-1851b6c36303667a,libgeneric_array-54e3491f9ba8d8d0,libtypenum-0ff6aac9c9cbf9ec,libhalf-8c5c8c53dbe7f7c1,libnum_traits-551d7e3effd11bdb,libzerocopy-b75d2c8715adc946,libmemmap2-f219ccfa20a3232d,libmoka-a1c52a71eee15146,libportable_atomic-76fcfe984c54357a,libtagptr-ace3f52256567d79,libcrossbeam_epoch-45fc60ec954fb79c,libuuid-2ee9664060f3dfdc,libgetrandom-2b981626d55da5ec,libcrossbeam_channel-b65bac408cf89796,libcrossbeam_utils-d120373eaebf0872,libsochdb_core-80fa7d6d6de0d1de,libhex-aa11f1b7b510398f,libblake3-286a1ef6c83e8613,libconstant_time_eq-75523017299f1a28,libcpufeatures-37e62768f95a7272,libarrayvec-ff2a04082732a9b8,libarrayref-31df403dfa5725c1,libbincode-56bea551c95bd7e9,libzstd-1362907342c783f9,libzstd_safe-ebb3c2c58b8911cc,libzstd_sys-0436726f6b363358,liblz4-790216fcbc4bcad0,liblz4_sys-f0e3730b43a8d755,libcrc32fast-6a12d0129be5e8d8,libtoon_format-36b0045d6c9f4931,libthiserror-1b400a730a348994,libserde_json-a451d2db399ebf69,libmemchr-19f85ccd2b063f07,libitoa-c3f3678fd0b86a79,libzmij-32087f229b5896fd,libindexmap-929dd02fad068ac3,libequivalent-2f5434284319e1e1,libhashbrown-8efbfc8b0f4264c8,libthiserror-8321bcbc656d6383,libdashmap-e187dce7868c914b,libonce_cell-0ac012fec71d6948,libhashbrown-031197f91b712133,libparking_lot-18efc8d060ea1d7e,libparking_lot_core-a0bdf03fd17de993,liblibc-4be905c164757f9f,libcfg_if-73907a425b6e514e,libsmallvec-5ad4aafa384ff9e8,libserde-9e8c8d252b4b9591,libserde_core-2c931dd3fb8fd185,liblock_api-74619001a0e54eab,libscopeguard-96105b3e6a714ed4,libbyteorder-0d5229b4099d70a3}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/opt/rustwide/target/debug/deps/rustcKT0Ei9/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/blake3-cfc250dc88dc9fd8/out" "-L" "/opt/rustwide/target/debug/build/lz4-sys-a28600155e8d31c5/out" "-L" "/opt/rustwide/target/debug/build/zstd-sys-93ad23448aaf91d6/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/profile_hotpath-7131a532a8167339" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sochdb-index` (bin "profile_hotpath" test) due to 1 previous error; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "38dd2b2a45aff578e5678d6b370bff7b12fc0a472170dca8170f7e658cc64fbe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "38dd2b2a45aff578e5678d6b370bff7b12fc0a472170dca8170f7e658cc64fbe", kill_on_drop: false }`
[INFO] [stdout] 38dd2b2a45aff578e5678d6b370bff7b12fc0a472170dca8170f7e658cc64fbe
