[INFO] fetching crate innr 0.1.6...
[INFO] testing innr-0.1.6 against beta-2026-03-05 for beta-1.95-1
[INFO] extracting crate innr 0.1.6 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate innr 0.1.6
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate innr 0.1.6
[INFO] tweaked toml for crates.io crate innr 0.1.6 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate innr 0.1.6 on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate innr 0.1.6 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-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 912a22b5cf166af7ccbcf967fd717fa6e5c1bf42339b1824aef65da23b64db76
[INFO] running `Command { std: "docker" "start" "-a" "912a22b5cf166af7ccbcf967fd717fa6e5c1bf42339b1824aef65da23b64db76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "912a22b5cf166af7ccbcf967fd717fa6e5c1bf42339b1824aef65da23b64db76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "912a22b5cf166af7ccbcf967fd717fa6e5c1bf42339b1824aef65da23b64db76", kill_on_drop: false }`
[INFO] [stdout] 912a22b5cf166af7ccbcf967fd717fa6e5c1bf42339b1824aef65da23b64db76
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e474c44f707c04f9e2fd610b50a84c18b7e153224324a5ca56d1b13f34e12b81
[INFO] running `Command { std: "docker" "start" "-a" "e474c44f707c04f9e2fd610b50a84c18b7e153224324a5ca56d1b13f34e12b81", kill_on_drop: false }`
[INFO] [stderr]    Compiling innr v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | / pub unsafe fn dot_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]  30 | |     use std::arch::x86_64::{
[INFO] [stdout]  31 | |         __m512, __mmask16, _mm512_add_ps, _mm512_fmadd_ps, _mm512_loadu_ps, _mm512_maskz_loadu_ps,
[INFO] [stdout]  32 | |         _mm512_reduce_add_ps, _mm512_setzero_ps,
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     result
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | / pub unsafe fn maxsim_avx512(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout] 117 | |     let mut total_score = 0.0;
[INFO] [stdout] 118 | |
[INFO] [stdout] 119 | |     for q in query_tokens {
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |     total_score
[INFO] [stdout] 140 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | / pub unsafe fn maxsim_avx2(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout] 153 | |     let mut total_score = 0.0;
[INFO] [stdout] 154 | |
[INFO] [stdout] 155 | |     for q in query_tokens {
[INFO] [stdout] ...   |
[INFO] [stdout] 166 | |     total_score
[INFO] [stdout] 167 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:179:1
[INFO] [stdout]     |
[INFO] [stdout] 179 | / pub unsafe fn dot_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout] 180 | |     use std::arch::x86_64::{
[INFO] [stdout] 181 | |         __m256, _mm256_add_ps, _mm256_castps256_ps128, _mm256_extractf128_ps, _mm256_fmadd_ps,
[INFO] [stdout] 182 | |         _mm256_loadu_ps, _mm256_setzero_ps, _mm_add_ps, _mm_add_ss, _mm_cvtss_f32, _mm_movehl_ps,
[INFO] [stdout] ...   |
[INFO] [stdout] 258 | |     result
[INFO] [stdout] 259 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | / pub unsafe fn sparse_match_indices_avx512(a_idx: &[u32], b_idx: &[u32]) -> Vec<(usize, usize)> {
[INFO] [stdout] 268 | |     use std::arch::x86_64::{_mm512_loadu_si512, _mm512_mask_cmpeq_epi32_mask, _mm512_set1_epi32};
[INFO] [stdout] 269 | |
[INFO] [stdout] 270 | |     let mut matches = Vec::new();
[INFO] [stdout] ...   |
[INFO] [stdout] 315 | |     matches
[INFO] [stdout] 316 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> src/dense.rs:74:20
[INFO] [stdout]    |
[INFO] [stdout] 74 |             return unsafe { arch::x86_64::dot_avx512(a, b) };
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> src/dense.rs:81:20
[INFO] [stdout]    |
[INFO] [stdout] 81 |             return unsafe { arch::x86_64::dot_avx2(a, b) };
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:104:18
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let ai = unsafe { *a.get_unchecked(i) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let bi = unsafe { *b.get_unchecked(i) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/fast_math.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | /     pub unsafe fn fast_cosine_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout] 148 | |         use std::arch::x86_64::{
[INFO] [stdout] 149 | |             __m512, _mm512_fmadd_ps, _mm512_loadu_ps, _mm512_reduce_add_ps, _mm512_setzero_ps,
[INFO] [stdout] ...   |
[INFO] [stdout] 213 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/fast_math.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 | /     pub unsafe fn fast_cosine_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout] 226 | |         use std::arch::x86_64::{
[INFO] [stdout] 227 | |             __m256, _mm256_castps256_ps128, _mm256_extractf128_ps, _mm256_fmadd_ps,
[INFO] [stdout] 228 | |             _mm256_loadu_ps, _mm256_setzero_ps, _mm_add_ps, _mm_add_ss, _mm_cvtss_f32,
[INFO] [stdout] ...   |
[INFO] [stdout] 301 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/fast_math.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 | /         unsafe fn hsum256(v: __m256) -> f32 {
[INFO] [stdout] 260 | |             let hi = _mm256_extractf128_ps(v, 1);
[INFO] [stdout] 261 | |             let lo = _mm256_castps256_ps128(v);
[INFO] [stdout] 262 | |             let sum128 = _mm_add_ps(lo, hi);
[INFO] [stdout] ...   |
[INFO] [stdout] 265 | |             _mm_cvtss_f32(sum32)
[INFO] [stdout] 266 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:483:20
[INFO] [stdout]     |
[INFO] [stdout] 483 |             return unsafe { x86_64::fast_cosine_avx512(a, b) };
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:487:20
[INFO] [stdout]     |
[INFO] [stdout] 487 |             return unsafe { x86_64::fast_cosine_avx2(a, b) };
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implementation of an `unsafe` method
[INFO] [stdout]    --> src/batch.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     pub unsafe fn get_unchecked(&self, dim: usize, vec_idx: usize) -> f32 {
[INFO] [stdout] 169 | |         *self.data.get_unchecked(dim * self.num_vectors + vec_idx)
[INFO] [stdout] 170 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/ternary.rs:173:20
[INFO] [stdout]     |
[INFO] [stdout] 173 |             return unsafe { ternary_dot_popcnt(&a.data, &b.data) };
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/ternary.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | / unsafe fn ternary_dot_popcnt(a: &[u64], b: &[u64]) -> i32 {
[INFO] [stdout] 225 | |     use std::arch::x86_64::_popcnt64;
[INFO] [stdout] 226 | |
[INFO] [stdout] 227 | |     let mut same_count: i64 = 0;
[INFO] [stdout] ...   |
[INFO] [stdout] 246 | |     (same_count - diff_count) as i32
[INFO] [stdout] 247 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maxsim_avx512` is never used
[INFO] [stdout]    --> src/arch/x86_64.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub unsafe fn maxsim_avx512(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maxsim_avx2` is never used
[INFO] [stdout]    --> src/arch/x86_64.rs:152:15
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub unsafe fn maxsim_avx2(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sparse_match_indices_avx512` is never used
[INFO] [stdout]    --> src/arch/x86_64.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub unsafe fn sparse_match_indices_avx512(a_idx: &[u32], b_idx: &[u32]) -> Vec<(usize, usize)> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.70s
[INFO] running `Command { std: "docker" "inspect" "e474c44f707c04f9e2fd610b50a84c18b7e153224324a5ca56d1b13f34e12b81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e474c44f707c04f9e2fd610b50a84c18b7e153224324a5ca56d1b13f34e12b81", kill_on_drop: false }`
[INFO] [stdout] e474c44f707c04f9e2fd610b50a84c18b7e153224324a5ca56d1b13f34e12b81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 05c0ea3937cb8e5b3e2236464e1b3f212327ca8b2f901c21fb14cb6c7e8a4390
[INFO] running `Command { std: "docker" "start" "-a" "05c0ea3937cb8e5b3e2236464e1b3f212327ca8b2f901c21fb14cb6c7e8a4390", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.34
[INFO] [stderr]    Compiling zmij v1.0.17
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling clap_builder v4.5.55
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | / pub unsafe fn dot_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]  30 | |     use std::arch::x86_64::{
[INFO] [stdout]  31 | |         __m512, __mmask16, _mm512_add_ps, _mm512_fmadd_ps, _mm512_loadu_ps, _mm512_maskz_loadu_ps,
[INFO] [stdout]  32 | |         _mm512_reduce_add_ps, _mm512_setzero_ps,
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     result
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | / pub unsafe fn maxsim_avx512(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout] 117 | |     let mut total_score = 0.0;
[INFO] [stdout] 118 | |
[INFO] [stdout] 119 | |     for q in query_tokens {
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |     total_score
[INFO] [stdout] 140 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | / pub unsafe fn maxsim_avx2(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout] 153 | |     let mut total_score = 0.0;
[INFO] [stdout] 154 | |
[INFO] [stdout] 155 | |     for q in query_tokens {
[INFO] [stdout] ...   |
[INFO] [stdout] 166 | |     total_score
[INFO] [stdout] 167 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:179:1
[INFO] [stdout]     |
[INFO] [stdout] 179 | / pub unsafe fn dot_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout] 180 | |     use std::arch::x86_64::{
[INFO] [stdout] 181 | |         __m256, _mm256_add_ps, _mm256_castps256_ps128, _mm256_extractf128_ps, _mm256_fmadd_ps,
[INFO] [stdout] 182 | |         _mm256_loadu_ps, _mm256_setzero_ps, _mm_add_ps, _mm_add_ss, _mm_cvtss_f32, _mm_movehl_ps,
[INFO] [stdout] ...   |
[INFO] [stdout] 258 | |     result
[INFO] [stdout] 259 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | / pub unsafe fn sparse_match_indices_avx512(a_idx: &[u32], b_idx: &[u32]) -> Vec<(usize, usize)> {
[INFO] [stdout] 268 | |     use std::arch::x86_64::{_mm512_loadu_si512, _mm512_mask_cmpeq_epi32_mask, _mm512_set1_epi32};
[INFO] [stdout] 269 | |
[INFO] [stdout] 270 | |     let mut matches = Vec::new();
[INFO] [stdout] ...   |
[INFO] [stdout] 315 | |     matches
[INFO] [stdout] 316 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> src/dense.rs:74:20
[INFO] [stdout]    |
[INFO] [stdout] 74 |             return unsafe { arch::x86_64::dot_avx512(a, b) };
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> src/dense.rs:81:20
[INFO] [stdout]    |
[INFO] [stdout] 81 |             return unsafe { arch::x86_64::dot_avx2(a, b) };
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:104:18
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let ai = unsafe { *a.get_unchecked(i) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let bi = unsafe { *b.get_unchecked(i) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/fast_math.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | /     pub unsafe fn fast_cosine_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout] 148 | |         use std::arch::x86_64::{
[INFO] [stdout] 149 | |             __m512, _mm512_fmadd_ps, _mm512_loadu_ps, _mm512_reduce_add_ps, _mm512_setzero_ps,
[INFO] [stdout] ...   |
[INFO] [stdout] 213 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/fast_math.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 | /     pub unsafe fn fast_cosine_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout] 226 | |         use std::arch::x86_64::{
[INFO] [stdout] 227 | |             __m256, _mm256_castps256_ps128, _mm256_extractf128_ps, _mm256_fmadd_ps,
[INFO] [stdout] 228 | |             _mm256_loadu_ps, _mm256_setzero_ps, _mm_add_ps, _mm_add_ss, _mm_cvtss_f32,
[INFO] [stdout] ...   |
[INFO] [stdout] 301 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/fast_math.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 | /         unsafe fn hsum256(v: __m256) -> f32 {
[INFO] [stdout] 260 | |             let hi = _mm256_extractf128_ps(v, 1);
[INFO] [stdout] 261 | |             let lo = _mm256_castps256_ps128(v);
[INFO] [stdout] 262 | |             let sum128 = _mm_add_ps(lo, hi);
[INFO] [stdout] ...   |
[INFO] [stdout] 265 | |             _mm_cvtss_f32(sum32)
[INFO] [stdout] 266 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:483:20
[INFO] [stdout]     |
[INFO] [stdout] 483 |             return unsafe { x86_64::fast_cosine_avx512(a, b) };
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:487:20
[INFO] [stdout]     |
[INFO] [stdout] 487 |             return unsafe { x86_64::fast_cosine_avx2(a, b) };
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implementation of an `unsafe` method
[INFO] [stdout]    --> src/batch.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     pub unsafe fn get_unchecked(&self, dim: usize, vec_idx: usize) -> f32 {
[INFO] [stdout] 169 | |         *self.data.get_unchecked(dim * self.num_vectors + vec_idx)
[INFO] [stdout] 170 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/ternary.rs:173:20
[INFO] [stdout]     |
[INFO] [stdout] 173 |             return unsafe { ternary_dot_popcnt(&a.data, &b.data) };
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/ternary.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | / unsafe fn ternary_dot_popcnt(a: &[u64], b: &[u64]) -> i32 {
[INFO] [stdout] 225 | |     use std::arch::x86_64::_popcnt64;
[INFO] [stdout] 226 | |
[INFO] [stdout] 227 | |     let mut same_count: i64 = 0;
[INFO] [stdout] ...   |
[INFO] [stdout] 246 | |     (same_count - diff_count) as i32
[INFO] [stdout] 247 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maxsim_avx512` is never used
[INFO] [stdout]    --> src/arch/x86_64.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub unsafe fn maxsim_avx512(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maxsim_avx2` is never used
[INFO] [stdout]    --> src/arch/x86_64.rs:152:15
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub unsafe fn maxsim_avx2(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sparse_match_indices_avx512` is never used
[INFO] [stdout]    --> src/arch/x86_64.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub unsafe fn sparse_match_indices_avx512(a_idx: &[u32], b_idx: &[u32]) -> Vec<(usize, usize)> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling clap v4.5.55
[INFO] [stderr]    Compiling zerocopy-derive v0.8.34
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling innr v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> tests/batch_tests.rs:70:29
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let unchecked = unsafe { batch.get_unchecked(d, i) };
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | / pub unsafe fn dot_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]  30 | |     use std::arch::x86_64::{
[INFO] [stdout]  31 | |         __m512, __mmask16, _mm512_add_ps, _mm512_fmadd_ps, _mm512_loadu_ps, _mm512_maskz_loadu_ps,
[INFO] [stdout]  32 | |         _mm512_reduce_add_ps, _mm512_setzero_ps,
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     result
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | / pub unsafe fn maxsim_avx512(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout] 117 | |     let mut total_score = 0.0;
[INFO] [stdout] 118 | |
[INFO] [stdout] 119 | |     for q in query_tokens {
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |     total_score
[INFO] [stdout] 140 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | / pub unsafe fn maxsim_avx2(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout] 153 | |     let mut total_score = 0.0;
[INFO] [stdout] 154 | |
[INFO] [stdout] 155 | |     for q in query_tokens {
[INFO] [stdout] ...   |
[INFO] [stdout] 166 | |     total_score
[INFO] [stdout] 167 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:179:1
[INFO] [stdout]     |
[INFO] [stdout] 179 | / pub unsafe fn dot_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout] 180 | |     use std::arch::x86_64::{
[INFO] [stdout] 181 | |         __m256, _mm256_add_ps, _mm256_castps256_ps128, _mm256_extractf128_ps, _mm256_fmadd_ps,
[INFO] [stdout] 182 | |         _mm256_loadu_ps, _mm256_setzero_ps, _mm_add_ps, _mm_add_ss, _mm_cvtss_f32, _mm_movehl_ps,
[INFO] [stdout] ...   |
[INFO] [stdout] 258 | |     result
[INFO] [stdout] 259 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/arch/x86_64.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | / pub unsafe fn sparse_match_indices_avx512(a_idx: &[u32], b_idx: &[u32]) -> Vec<(usize, usize)> {
[INFO] [stdout] 268 | |     use std::arch::x86_64::{_mm512_loadu_si512, _mm512_mask_cmpeq_epi32_mask, _mm512_set1_epi32};
[INFO] [stdout] 269 | |
[INFO] [stdout] 270 | |     let mut matches = Vec::new();
[INFO] [stdout] ...   |
[INFO] [stdout] 315 | |     matches
[INFO] [stdout] 316 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/arch/x86_64.rs:336:26
[INFO] [stdout]     |
[INFO] [stdout] 336 |             let actual = unsafe { dot_avx512(&a, &b) };
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/arch/x86_64.rs:368:26
[INFO] [stdout]     |
[INFO] [stdout] 368 |             let actual = unsafe { dot_avx2(&a, &b) };
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/arch/x86_64.rs:402:31
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let avx2_result = unsafe { dot_avx2(&a, &b) };
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/arch/x86_64.rs:403:33
[INFO] [stdout]     |
[INFO] [stdout] 403 |             let avx512_result = unsafe { dot_avx512(&a, &b) };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/arch/x86_64.rs:430:23
[INFO] [stdout]     |
[INFO] [stdout] 430 |         let matches = unsafe { sparse_match_indices_avx512(&a, &b) };
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/arch/x86_64.rs:459:26
[INFO] [stdout]     |
[INFO] [stdout] 459 |             let actual = unsafe { sparse_match_indices_avx512(&a, &b) };
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> src/dense.rs:74:20
[INFO] [stdout]    |
[INFO] [stdout] 74 |             return unsafe { arch::x86_64::dot_avx512(a, b) };
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> src/dense.rs:81:20
[INFO] [stdout]    |
[INFO] [stdout] 81 |             return unsafe { arch::x86_64::dot_avx2(a, b) };
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:104:18
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let ai = unsafe { *a.get_unchecked(i) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let bi = unsafe { *b.get_unchecked(i) };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/fast_math.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | /     pub unsafe fn fast_cosine_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout] 148 | |         use std::arch::x86_64::{
[INFO] [stdout] 149 | |             __m512, _mm512_fmadd_ps, _mm512_loadu_ps, _mm512_reduce_add_ps, _mm512_setzero_ps,
[INFO] [stdout] ...   |
[INFO] [stdout] 213 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/fast_math.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 | /     pub unsafe fn fast_cosine_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout] 226 | |         use std::arch::x86_64::{
[INFO] [stdout] 227 | |             __m256, _mm256_castps256_ps128, _mm256_extractf128_ps, _mm256_fmadd_ps,
[INFO] [stdout] 228 | |             _mm256_loadu_ps, _mm256_setzero_ps, _mm_add_ps, _mm_add_ss, _mm_cvtss_f32,
[INFO] [stdout] ...   |
[INFO] [stdout] 301 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/fast_math.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 | /         unsafe fn hsum256(v: __m256) -> f32 {
[INFO] [stdout] 260 | |             let hi = _mm256_extractf128_ps(v, 1);
[INFO] [stdout] 261 | |             let lo = _mm256_castps256_ps128(v);
[INFO] [stdout] 262 | |             let sum128 = _mm_add_ps(lo, hi);
[INFO] [stdout] ...   |
[INFO] [stdout] 265 | |             _mm_cvtss_f32(sum32)
[INFO] [stdout] 266 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:483:20
[INFO] [stdout]     |
[INFO] [stdout] 483 |             return unsafe { x86_64::fast_cosine_avx512(a, b) };
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/fast_math.rs:487:20
[INFO] [stdout]     |
[INFO] [stdout] 487 |             return unsafe { x86_64::fast_cosine_avx2(a, b) };
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implementation of an `unsafe` method
[INFO] [stdout]    --> src/batch.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     pub unsafe fn get_unchecked(&self, dim: usize, vec_idx: usize) -> f32 {
[INFO] [stdout] 169 | |         *self.data.get_unchecked(dim * self.num_vectors + vec_idx)
[INFO] [stdout] 170 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/batch.rs:703:33
[INFO] [stdout]     |
[INFO] [stdout] 703 |                 let unchecked = unsafe { batch.get_unchecked(d, v) };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/ternary.rs:173:20
[INFO] [stdout]     |
[INFO] [stdout] 173 |             return unsafe { ternary_dot_popcnt(&a.data, &b.data) };
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> src/ternary.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | / unsafe fn ternary_dot_popcnt(a: &[u64], b: &[u64]) -> i32 {
[INFO] [stdout] 225 | |     use std::arch::x86_64::_popcnt64;
[INFO] [stdout] 226 | |
[INFO] [stdout] 227 | |     let mut same_count: i64 = 0;
[INFO] [stdout] ...   |
[INFO] [stdout] 246 | |     (same_count - diff_count) as i32
[INFO] [stdout] 247 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> tests/maxsim_props.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / #[cfg(all(
[INFO] [stdout]  2 | |     test,
[INFO] [stdout]  3 | |     feature = "maxsim",
[INFO] [stdout]  4 | |     any(target_arch = "x86_64", target_arch = "aarch64")
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> tests/sparse_maxsim_props.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / #[cfg(all(test, feature = "sparse"))]
[INFO] [stdout]  2 | | mod sparse_maxsim_props {
[INFO] [stdout]  3 | |     use innr::sparse_maxsim;
[INFO] [stdout]  4 | |     use proptest::prelude::*;
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maxsim_avx512` is never used
[INFO] [stdout]    --> src/arch/x86_64.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub unsafe fn maxsim_avx512(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maxsim_avx2` is never used
[INFO] [stdout]    --> src/arch/x86_64.rs:152:15
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub unsafe fn maxsim_avx2(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.72s
[INFO] running `Command { std: "docker" "inspect" "05c0ea3937cb8e5b3e2236464e1b3f212327ca8b2f901c21fb14cb6c7e8a4390", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05c0ea3937cb8e5b3e2236464e1b3f212327ca8b2f901c21fb14cb6c7e8a4390", kill_on_drop: false }`
[INFO] [stdout] 05c0ea3937cb8e5b3e2236464e1b3f212327ca8b2f901c21fb14cb6c7e8a4390
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1f8abc0a498d9cb3fd1bcf8b5cc02d2f64d46e2382d043a4595d2ac21f2fea8c
[INFO] running `Command { std: "docker" "start" "-a" "1f8abc0a498d9cb3fd1bcf8b5cc02d2f64d46e2382d043a4595d2ac21f2fea8c", kill_on_drop: false }`
[INFO] [stderr] warning: declaration of an `unsafe` function
[INFO] [stderr]    --> src/arch/x86_64.rs:29:1
[INFO] [stderr]     |
[INFO] [stderr]  29 | / pub unsafe fn dot_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stderr]  30 | |     use std::arch::x86_64::{
[INFO] [stderr]  31 | |         __m512, __mmask16, _mm512_add_ps, _mm512_fmadd_ps, _mm512_loadu_ps, _mm512_maskz_loadu_ps,
[INFO] [stderr]  32 | |         _mm512_reduce_add_ps, _mm512_setzero_ps,
[INFO] [stderr] ...   |
[INFO] [stderr] 103 | |     result
[INFO] [stderr] 104 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: requested on the command line with `-W unsafe-code`
[INFO] [stderr] 
[INFO] [stderr] warning: declaration of an `unsafe` function
[INFO] [stderr]    --> src/arch/x86_64.rs:116:1
[INFO] [stderr]     |
[INFO] [stderr] 116 | / pub unsafe fn maxsim_avx512(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stderr] 117 | |     let mut total_score = 0.0;
[INFO] [stderr] 118 | |
[INFO] [stderr] 119 | |     for q in query_tokens {
[INFO] [stderr] ...   |
[INFO] [stderr] 139 | |     total_score
[INFO] [stderr] 140 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: declaration of an `unsafe` function
[INFO] [stderr]    --> src/arch/x86_64.rs:152:1
[INFO] [stderr]     |
[INFO] [stderr] 152 | / pub unsafe fn maxsim_avx2(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stderr] 153 | |     let mut total_score = 0.0;
[INFO] [stderr] 154 | |
[INFO] [stderr] 155 | |     for q in query_tokens {
[INFO] [stderr] ...   |
[INFO] [stderr] 166 | |     total_score
[INFO] [stderr] 167 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: declaration of an `unsafe` function
[INFO] [stderr]    --> src/arch/x86_64.rs:179:1
[INFO] [stderr]     |
[INFO] [stderr] 179 | / pub unsafe fn dot_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stderr] 180 | |     use std::arch::x86_64::{
[INFO] [stderr] 181 | |         __m256, _mm256_add_ps, _mm256_castps256_ps128, _mm256_extractf128_ps, _mm256_fmadd_ps,
[INFO] [stderr] 182 | |         _mm256_loadu_ps, _mm256_setzero_ps, _mm_add_ps, _mm_add_ss, _mm_cvtss_f32, _mm_movehl_ps,
[INFO] [stderr] ...   |
[INFO] [stderr] 258 | |     result
[INFO] [stderr] 259 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: declaration of an `unsafe` function
[INFO] [stderr]    --> src/arch/x86_64.rs:267:1
[INFO] [stderr]     |
[INFO] [stderr] 267 | / pub unsafe fn sparse_match_indices_avx512(a_idx: &[u32], b_idx: &[u32]) -> Vec<(usize, usize)> {
[INFO] [stderr] 268 | |     use std::arch::x86_64::{_mm512_loadu_si512, _mm512_mask_cmpeq_epi32_mask, _mm512_set1_epi32};
[INFO] [stderr] 269 | |
[INFO] [stderr] 270 | |     let mut matches = Vec::new();
[INFO] [stderr] ...   |
[INFO] [stderr] 315 | |     matches
[INFO] [stderr] 316 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]   --> src/dense.rs:74:20
[INFO] [stderr]    |
[INFO] [stderr] 74 |             return unsafe { arch::x86_64::dot_avx512(a, b) };
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]   --> src/dense.rs:81:20
[INFO] [stderr]    |
[INFO] [stderr] 81 |             return unsafe { arch::x86_64::dot_avx2(a, b) };
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/fast_math.rs:104:18
[INFO] [stderr]     |
[INFO] [stderr] 104 |         let ai = unsafe { *a.get_unchecked(i) };
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/fast_math.rs:105:18
[INFO] [stderr]     |
[INFO] [stderr] 105 |         let bi = unsafe { *b.get_unchecked(i) };
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: declaration of an `unsafe` function
[INFO] [stderr]    --> src/fast_math.rs:147:5
[INFO] [stderr]     |
[INFO] [stderr] 147 | /     pub unsafe fn fast_cosine_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stderr] 148 | |         use std::arch::x86_64::{
[INFO] [stderr] 149 | |             __m512, _mm512_fmadd_ps, _mm512_loadu_ps, _mm512_reduce_add_ps, _mm512_setzero_ps,
[INFO] [stderr] ...   |
[INFO] [stderr] 213 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: declaration of an `unsafe` function
[INFO] [stderr]    --> src/fast_math.rs:225:5
[INFO] [stderr]     |
[INFO] [stderr] 225 | /     pub unsafe fn fast_cosine_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stderr] 226 | |         use std::arch::x86_64::{
[INFO] [stderr] 227 | |             __m256, _mm256_castps256_ps128, _mm256_extractf128_ps, _mm256_fmadd_ps,
[INFO] [stderr] 228 | |             _mm256_loadu_ps, _mm256_setzero_ps, _mm_add_ps, _mm_add_ss, _mm_cvtss_f32,
[INFO] [stderr] ...   |
[INFO] [stderr] 301 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: declaration of an `unsafe` function
[INFO] [stderr]    --> src/fast_math.rs:259:9
[INFO] [stderr]     |
[INFO] [stderr] 259 | /         unsafe fn hsum256(v: __m256) -> f32 {
[INFO] [stderr] 260 | |             let hi = _mm256_extractf128_ps(v, 1);
[INFO] [stderr] 261 | |             let lo = _mm256_castps256_ps128(v);
[INFO] [stderr] 262 | |             let sum128 = _mm_add_ps(lo, hi);
[INFO] [stderr] ...   |
[INFO] [stderr] 265 | |             _mm_cvtss_f32(sum32)
[INFO] [stderr] 266 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/fast_math.rs:483:20
[INFO] [stderr]     |
[INFO] [stderr] 483 |             return unsafe { x86_64::fast_cosine_avx512(a, b) };
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/fast_math.rs:487:20
[INFO] [stderr]     |
[INFO] [stderr] 487 |             return unsafe { x86_64::fast_cosine_avx2(a, b) };
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: implementation of an `unsafe` method
[INFO] [stderr]    --> src/batch.rs:168:5
[INFO] [stderr]     |
[INFO] [stderr] 168 | /     pub unsafe fn get_unchecked(&self, dim: usize, vec_idx: usize) -> f32 {
[INFO] [stderr] 169 | |         *self.data.get_unchecked(dim * self.num_vectors + vec_idx)
[INFO] [stderr] 170 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/ternary.rs:173:20
[INFO] [stderr]     |
[INFO] [stderr] 173 |             return unsafe { ternary_dot_popcnt(&a.data, &b.data) };
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: declaration of an `unsafe` function
[INFO] [stderr]    --> src/ternary.rs:224:1
[INFO] [stderr]     |
[INFO] [stderr] 224 | / unsafe fn ternary_dot_popcnt(a: &[u64], b: &[u64]) -> i32 {
[INFO] [stderr] 225 | |     use std::arch::x86_64::_popcnt64;
[INFO] [stderr] 226 | |
[INFO] [stderr] 227 | |     let mut same_count: i64 = 0;
[INFO] [stderr] ...   |
[INFO] [stderr] 246 | |     (same_count - diff_count) as i32
[INFO] [stderr] 247 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: function `maxsim_avx512` is never used
[INFO] [stderr]    --> src/arch/x86_64.rs:116:15
[INFO] [stderr]     |
[INFO] [stderr] 116 | pub unsafe fn maxsim_avx512(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stderr]     |               ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `maxsim_avx2` is never used
[INFO] [stderr]    --> src/arch/x86_64.rs:152:15
[INFO] [stderr]     |
[INFO] [stderr] 152 | pub unsafe fn maxsim_avx2(query_tokens: &[&[f32]], doc_tokens: &[&[f32]]) -> f32 {
[INFO] [stderr]     |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sparse_match_indices_avx512` is never used
[INFO] [stderr]    --> src/arch/x86_64.rs:267:15
[INFO] [stderr]     |
[INFO] [stderr] 267 | pub unsafe fn sparse_match_indices_avx512(a_idx: &[u32], b_idx: &[u32]) -> Vec<(usize, usize)> {
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `innr` (lib) generated 20 warnings
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]   --> tests/batch_tests.rs:70:29
[INFO] [stderr]    |
[INFO] [stderr] 70 |             let unchecked = unsafe { batch.get_unchecked(d, i) };
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: requested on the command line with `-W unsafe-code`
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for the crate
[INFO] [stderr]   --> tests/maxsim_props.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr]  1 | / #[cfg(all(
[INFO] [stderr]  2 | |     test,
[INFO] [stderr]  3 | |     feature = "maxsim",
[INFO] [stderr]  4 | |     any(target_arch = "x86_64", target_arch = "aarch64")
[INFO] [stderr] ...  |
[INFO] [stderr] 73 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: requested on the command line with `-W missing-docs`
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/arch/x86_64.rs:336:26
[INFO] [stderr]     |
[INFO] [stderr] 336 |             let actual = unsafe { dot_avx512(&a, &b) };
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/arch/x86_64.rs:368:26
[INFO] [stderr]     |
[INFO] [stderr] 368 |             let actual = unsafe { dot_avx2(&a, &b) };
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/arch/x86_64.rs:402:31
[INFO] [stderr]     |
[INFO] [stderr] 402 |             let avx2_result = unsafe { dot_avx2(&a, &b) };
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/arch/x86_64.rs:403:33
[INFO] [stderr]     |
[INFO] [stderr] 403 |             let avx512_result = unsafe { dot_avx512(&a, &b) };
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/arch/x86_64.rs:430:23
[INFO] [stderr]     |
[INFO] [stderr] 430 |         let matches = unsafe { sparse_match_indices_avx512(&a, &b) };
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/arch/x86_64.rs:459:26
[INFO] [stderr]     |
[INFO] [stderr] 459 |             let actual = unsafe { sparse_match_indices_avx512(&a, &b) };
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/batch.rs:703:33
[INFO] [stderr]     |
[INFO] [stderr] 703 |                 let unchecked = unsafe { batch.get_unchecked(d, v) };
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for the crate
[INFO] [stderr]   --> tests/sparse_maxsim_props.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr]  1 | / #[cfg(all(test, feature = "sparse"))]
[INFO] [stderr]  2 | | mod sparse_maxsim_props {
[INFO] [stderr]  3 | |     use innr::sparse_maxsim;
[INFO] [stderr]  4 | |     use proptest::prelude::*;
[INFO] [stderr] ...  |
[INFO] [stderr] 53 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: requested on the command line with `-W missing-docs`
[INFO] [stderr] 
[INFO] [stderr] warning: `innr` (test "batch_tests") generated 1 warning
[INFO] [stderr] warning: `innr` (test "maxsim_props") generated 1 warning
[INFO] [stderr] warning: `innr` (lib test) generated 26 warnings (19 duplicates)
[INFO] [stderr] warning: `innr` (test "sparse_maxsim_props") generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/innr-d51f5b547327d889)
[INFO] [stdout] 
[INFO] [stdout] running 158 tests
[INFO] [stdout] test arch::x86_64::tests::test_avx2_vs_avx512_consistency ... ok
[INFO] [stdout] test arch::x86_64::tests::test_dot_avx512_correctness ... ok
[INFO] [stdout] test arch::x86_64::tests::test_sparse_match_indices_avx512_basic ... ok
[INFO] [stdout] test batch::tests::test_batch_cosine ... ok
[INFO] [stdout] test arch::x86_64::tests::test_dot_avx2_correctness ... ok
[INFO] [stdout] test batch::tests::test_batch_cosine_zero_norm_vector ... ok
[INFO] [stdout] test batch::tests::test_batch_cosine_zero_query ... ok
[INFO] [stdout] test batch::tests::test_batch_dot ... ok
[INFO] [stdout] test batch::tests::test_batch_dot_zero_query ... ok
[INFO] [stdout] test batch::tests::test_batch_knn ... ok
[INFO] [stdout] test batch::tests::test_batch_knn_adaptive_finds_nearest ... ok
[INFO] [stdout] test batch::tests::test_batch_knn_adaptive_k_zero ... ok
[INFO] [stdout] test batch::tests::test_batch_knn_k_larger_than_n ... ok
[INFO] [stdout] test batch::tests::test_batch_knn_k_zero ... ok
[INFO] [stdout] test batch::tests::test_batch_knn_sorted_by_distance ... ok
[INFO] [stdout] test batch::tests::test_batch_l2_squared ... ok
[INFO] [stdout] test batch::tests::test_batch_l2_squared_exact_match ... ok
[INFO] [stdout] test batch::tests::test_batch_l2_squared_large ... ok
[INFO] [stdout] test batch::tests::test_dimension_slice ... ok
[INFO] [stdout] test batch::tests::test_batch_knn_adaptive_empty ... ok
[INFO] [stdout] test batch::tests::test_batch_norms ... ok
[INFO] [stdout] test batch::tests::test_empty_batch ... ok
[INFO] [stdout] test batch::tests::test_extract_all_vectors_roundtrip ... ok
[INFO] [stdout] test batch::tests::test_extract_vector ... ok
[INFO] [stdout] test batch::tests::test_from_flat_matches_from_rows ... ok
[INFO] [stdout] test batch::tests::test_from_flat_single_vector ... ok
[INFO] [stdout] test batch::tests::test_get_unchecked_matches_get ... ok
[INFO] [stdout] test batch::tests::test_batch_knn_empty_batch ... ok
[INFO] [stdout] test batch::tests::test_pruning_all_survive ... ok
[INFO] [stdout] test batch::tests::test_pruning_none_survive ... ok
[INFO] [stdout] test batch::tests::test_pruning_threshold_zero ... ok
[INFO] [stdout] test batch::tests::test_single_vector_batch ... ok
[INFO] [stdout] test batch::tests::test_vertical_batch_creation ... ok
[INFO] [stdout] test binary::tests::test_dot_self ... ok
[INFO] [stdout] test binary::tests::test_encode_binary_all_above ... ok
[INFO] [stdout] test binary::tests::test_encode_binary_nonzero_threshold ... ok
[INFO] [stdout] test binary::tests::test_encode_binary_at_threshold ... ok
[INFO] [stdout] test binary::tests::test_encode_binary_large ... ok
[INFO] [stdout] test binary::tests::test_encode_binary_empty ... ok
[INFO] [stdout] test binary::tests::test_binary_ops ... ok
[INFO] [stdout] test binary::tests::test_jaccard_disjoint ... ok
[INFO] [stdout] test binary::tests::test_jaccard_identical ... ok
[INFO] [stdout] test binary::tests::test_memory_bytes ... ok
[INFO] [stdout] test binary::tests::test_multi_word_dot ... ok
[INFO] [stdout] test binary::tests::test_multi_word_hamming ... ok
[INFO] [stdout] test batch::tests::test_batch_pruning ... ok
[INFO] [stdout] test binary::tests::test_multi_word_jaccard ... ok
[INFO] [stdout] test binary::tests::test_new ... ok
[INFO] [stdout] test binary::tests::test_set_and_clear ... ok
[INFO] [stdout] test binary::tests::test_set_last_bit_in_word ... ok
[INFO] [stdout] test binary::tests::test_set_out_of_bounds_is_noop ... ok
[INFO] [stdout] test binary::tests::test_zeros ... ok
[INFO] [stdout] test clifford::tests::test_geometric_product_2d ... ok
[INFO] [stdout] test clifford::tests::test_geometric_product_parallel ... ok
[INFO] [stdout] test clifford::tests::test_geometric_product_self ... ok
[INFO] [stdout] test clifford::tests::test_rotor_180 ... ok
[INFO] [stdout] test clifford::tests::test_rotor_2d ... ok
[INFO] [stdout] test clifford::tests::test_rotor_360 ... ok
[INFO] [stdout] test clifford::tests::test_rotor_identity ... ok
[INFO] [stdout] test clifford::tests::test_rotor_composition ... ok
[INFO] [stdout] test clifford::tests::test_rotor_negative_angle ... ok
[INFO] [stdout] test clifford::tests::test_rotor_preserves_magnitude ... ok
[INFO] [stdout] test clifford::tests::test_rotor_rotate_y_axis ... ok
[INFO] [stdout] test binary::tests::test_get_out_of_bounds ... ok
[INFO] [stdout] test binary::tests::test_hamming_identical ... ok
[INFO] [stdout] test clifford::tests::test_wedge_antisymmetric ... ok
[INFO] [stdout] test clifford::tests::test_wedge_parallel_is_zero ... ok
[INFO] [stdout] test clifford::tests::test_wedge_self_is_zero ... ok
[INFO] [stdout] test binary::tests::test_hamming_complement ... ok
[INFO] [stdout] test binary::tests::test_encode_binary_all_below ... ok
[INFO] [stdout] test binary::tests::test_jaccard_both_empty ... ok
[INFO] [stdout] test clifford::tests::test_wedge_unit_basis ... ok
[INFO] [stdout] test dense::tests::test_bilinear ... ok
[INFO] [stdout] test dense::tests::test_cosine_empty ... ok
[INFO] [stdout] test dense::tests::test_cosine_mixed_signs ... ok
[INFO] [stdout] test dense::tests::test_cosine_zero_vector_both ... ok
[INFO] [stdout] test dense::tests::test_dot_all_negatives ... ok
[INFO] [stdout] test dense::tests::test_dot_empty ... ok
[INFO] [stdout] test dense::tests::test_dot_exactly_16_elements ... ok
[INFO] [stdout] test dense::tests::test_dot_large_values ... ok
[INFO] [stdout] test dense::tests::test_cosine_exactly_16_elements ... ok
[INFO] [stdout] test dense::tests::test_dot_single ... ok
[INFO] [stdout] test dense::tests::test_dot_simd_threshold ... ok
[INFO] [stdout] test dense::tests::test_matryoshka_ranking_preservation ... ok
[INFO] [stdout] test dense::tests::test_metric_residual ... ok
[INFO] [stdout] test dense::tests::test_norm_exactly_16_elements ... ok
[INFO] [stdout] test dense::tests::test_norm_large_vector ... ok
[INFO] [stdout] test dense::tests::test_l2_distance_triangle_inequality ... ok
[INFO] [stdout] test dense::tests::test_norm_zero_vector ... ok
[INFO] [stdout] test fast_math::tests::test_fast_cosine_antiparallel ... ok
[INFO] [stdout] test fast_math::tests::test_fast_cosine_orthogonal ... ok
[INFO] [stdout] test fast_math::tests::test_fast_cosine_parallel ... ok
[INFO] [stdout] test fast_math::tests::test_fast_cosine_dispatch_consistency ... ok
[INFO] [stdout] test fast_math::tests::test_fast_cosine_zero_vector ... ok
[INFO] [stdout] test fast_math::tests::test_fast_rsqrt_accuracy ... ok
[INFO] [stdout] test fast_math::tests::test_fast_rsqrt_edge_cases ... ok
[INFO] [stdout] test fast_math::tests::test_fast_rsqrt_precise_accuracy ... ok
[INFO] [stdout] test fast_math::tests::test_fast_cosine_vs_standard ... ok
[INFO] [stdout] test binary::proptests::proptest_encode_deterministic ... ok
[INFO] [stdout] test binary::proptests::proptest_jaccard_self ... ok
[INFO] [stdout] test arch::x86_64::proptests::test_sparse_match_avx512_vs_scalar ... ok
[INFO] [stdout] test ternary::proptests::proptest_encode_nnz_le_dimension ... ok
[INFO] [stdout] test ternary::tests::test_asymmetric_dot ... ok
[INFO] [stdout] test ternary::tests::test_asymmetric_dot_negative_query ... ok
[INFO] [stdout] test ternary::tests::test_asymmetric_dot_zero_query ... ok
[INFO] [stdout] test ternary::tests::test_asymmetric_dot_zero_ternary ... ok
[INFO] [stdout] test binary::proptests::proptest_hamming_self_zero ... ok
[INFO] [stdout] test ternary::tests::test_batch_asymmetric_dot_empty ... ok
[INFO] [stdout] test ternary::tests::test_encode_decode ... ok
[INFO] [stdout] test ternary::tests::test_encode_ternary_at_threshold ... ok
[INFO] [stdout] test ternary::tests::test_encode_ternary_empty ... ok
[INFO] [stdout] test ternary::tests::test_encode_ternary_zero_threshold ... ok
[INFO] [stdout] test ternary::tests::test_encode_then_dot_consistency ... ok
[INFO] [stdout] test ternary::tests::test_get_out_of_bounds_returns_zero ... ok
[INFO] [stdout] test ternary::tests::test_hamming ... ok
[INFO] [stdout] test ternary::tests::test_hamming_all_opposite ... ok
[INFO] [stdout] test ternary::tests::test_hamming_identical ... ok
[INFO] [stdout] test ternary::tests::test_hamming_zeros_ignored ... ok
[INFO] [stdout] test ternary::tests::test_large_vector ... ok
[INFO] [stdout] test ternary::tests::test_memory_bytes ... ok
[INFO] [stdout] test ternary::tests::test_nnz ... ok
[INFO] [stdout] test ternary::tests::test_set_get_all_values ... ok
[INFO] [stdout] test ternary::proptests::proptest_hamming_self_zero ... ok
[INFO] [stdout] test ternary::tests::test_set_overwrite ... ok
[INFO] [stdout] test ternary::tests::test_sparsity_all_nonzero ... ok
[INFO] [stdout] test ternary::tests::test_sparsity_all_zero ... ok
[INFO] [stdout] test ternary::tests::test_sparsity_half ... ok
[INFO] [stdout] test ternary::tests::test_ternary_dot_all_zeros ... ok
[INFO] [stdout] test ternary::tests::test_ternary_dot_mixed_large ... ok
[INFO] [stdout] test binary::proptests::proptest_hamming_range ... ok
[INFO] [stdout] test ternary::tests::test_ternary_dot_opposite ... ok
[INFO] [stdout] test binary::proptests::proptest_dot_commutativity ... ok
[INFO] [stdout] test ternary::tests::test_ternary_dot_orthogonal ... ok
[INFO] [stdout] test ternary::tests::test_ternary_dot_same ... ok
[INFO] [stdout] test ternary::tests::test_zeros_all_zero ... ok
[INFO] [stdout] test tests::test_cosine_orthogonal ... ok
[INFO] [stdout] test tests::test_cosine_parallel ... ok
[INFO] [stdout] test tests::test_cosine_zero_vector ... ok
[INFO] [stdout] test tests::test_dot_basic ... ok
[INFO] [stdout] test tests::test_dot_empty ... ok
[INFO] [stdout] test ternary::tests::test_word_boundary ... ok
[INFO] [stdout] test tests::test_l2_distance ... ok
[INFO] [stdout] test tests::test_l2_distance_same_point ... ok
[INFO] [stdout] test binary::proptests::proptest_jaccard_range ... ok
[INFO] [stdout] test tests::test_norm ... ok
[INFO] [stdout] test tests::test_l1_distance ... ok
[INFO] [stdout] test ternary::proptests::proptest_sparsity_range ... ok
[INFO] [stdout] test ternary::tests::test_batch_asymmetric_dot ... ok
[INFO] [stdout] test ternary::tests::test_set_out_of_bounds_is_noop ... ok
[INFO] [stdout] test binary::proptests::proptest_hamming_symmetry ... ok
[INFO] [stdout] test dense::proptests::norm_nonnegative ... ok
[INFO] [stdout] test dense::proptests::l2_self_distance_zero ... ok
[INFO] [stdout] test ternary::proptests::proptest_hamming_symmetry ... ok
[INFO] [stdout] test ternary::proptests::proptest_asymmetric_dot_matches_symmetric_for_ternary_query ... ok
[INFO] [stdout] test dense::proptests::dot_commutative ... ok
[INFO] [stdout] test dense::proptests::l2_triangle_inequality ... ok
[INFO] [stdout] test dense::proptests::cosine_self_similarity ... ok
[INFO] [stdout] test dense::proptests::cosine_range ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 158 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.30s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/batch_tests.rs (/opt/rustwide/target/debug/deps/batch_tests-029fedfd630f6115)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test dimension_slice_correct ... ok
[INFO] [stdout] test cosine_with_zero_norm ... ok
[INFO] [stdout] test cosine_normalized ... ok
[INFO] [stdout] test dot_product_orthogonal ... ok
[INFO] [stdout] test batch_norms_correct ... ok
[INFO] [stdout] test empty_batch ... ok
[INFO] [stdout] test extract_vector_roundtrip ... ok
[INFO] [stdout] test from_flat_matches_from_rows ... ok
[INFO] [stdout] test get_unchecked_matches_get ... ok
[INFO] [stdout] test knn_finds_exact_match ... ok
[INFO] [stdout] test knn_adaptive_matches_basic ... ok
[INFO] [stdout] test knn_k_larger_than_batch ... ok
[INFO] [stdout] test knn_k_zero ... ok
[INFO] [stdout] test knn_results_sorted ... ok
[INFO] [stdout] test knn_returns_k_results ... ok
[INFO] [stdout] test l2_squared_identity ... ok
[INFO] [stdout] test l2_squared_known_value ... ok
[INFO] [stdout] test l2_squared_symmetric ... ok
[INFO] [stdout] test pruning_filters_far_vectors ... ok
[INFO] [stdout] test pruning_returns_correct_distances ... ok
[INFO] [stdout] test single_vector_batch ... ok
[INFO] [stdout] test pruning_tight_threshold ... ok
[INFO] [stdout] test cosine_with_zero_query ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-4c66e3ff4e309295)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test test_determinism ... ok
[INFO] [stdout] test test_edge_cases ... ok
[INFO] [stdout] test test_realistic_embedding_dimensions ... ok
[INFO] [stdout] test test_performance_sanity ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/maxsim_props.rs (/opt/rustwide/target/debug/deps/maxsim_props-10cb411bcbbd2fa1)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/maxsim_tests.rs (/opt/rustwide/target/debug/deps/maxsim_tests-cd8f63e845ca32dc)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/numerical_edge_cases.rs (/opt/rustwide/target/debug/deps/numerical_edge_cases-9b50efb285974250)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test cosine_handles_near_zero_norm ... ok
[INFO] [stdout] test cosine_equals_dot_for_normalized ... ok
[INFO] [stdout] test handles_empty_vectors ... ok
[INFO] [stdout] test handles_denormalized_floats ... ok
[INFO] [stdout] test handles_mixed_magnitude_vectors ... ok
[INFO] [stdout] test handles_large_similar_vectors ... ok
[INFO] [stdout] test handles_single_element ... ok
[INFO] [stdout] test handles_simd_boundary_dimensions ... ok
[INFO] [stdout] test l2_handles_identical_vectors ... ok
[INFO] [stdout] test handles_odd_dimensions ... ok
[INFO] [stdout] test l2_cosine_relationship_for_normalized ... ok
[INFO] [stdout] test normalized_vectors_have_unit_norm ... ok
[INFO] [stdout] test orthogonal_vectors ... ok
[INFO] [stdout] test antiparallel_vectors ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/property_tests.rs (/opt/rustwide/target/debug/deps/property_tests-62d6e5aa3dbe5335)
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test dot_small_matches_reference ... ok
[INFO] [stdout] test batch_props::batch_roundtrip ... ok
[INFO] [stdout] test cosine_self_is_one ... ok
[INFO] [stdout] test batch_props::batch_l2_matches_individual ... ok
[INFO] [stdout] test dot_medium_matches_reference ... ok
[INFO] [stdout] test l2_sq_medium_matches_reference ... ok
[INFO] [stdout] test l2_triangle_inequality ... ok
[INFO] [stdout] test l2_sq_small_matches_reference ... ok
[INFO] [stdout] test l2_sq_self_is_zero ... ok
[INFO] [stdout] test test_dot_at_simd_boundaries ... ok
[INFO] [stdout] test test_l2_sq_at_simd_boundaries ... ok
[INFO] [stdout] test batch_props::batch_knn_sorted ... ok
[INFO] [stdout] test cosine_symmetric ... ok
[INFO] [stdout] test norm_scales_with_scalar ... ok
[INFO] [stdout] test norm_matches_reference ... ok
[INFO] [stdout] test batch_props::batch_dot_matches_individual ... ok
[INFO] [stdout] test norm_nonnegative ... ok
[INFO] [stdout] test batch_props::batch_knn_unique_indices ... ok
[INFO] [stdout] test dot_commutative ... ok
[INFO] [stdout] test cosine_bounded ... ok
[INFO] [stdout] test l2_sq_nonnegative ... ok
[INFO] [stdout] test batch_props::batch_norms_nonnegative ... ok
[INFO] [stdout] test l2_sq_symmetric ... ok
[INFO] [stdout] test batch_props::batch_cosine_bounded ... ok
[INFO] [stdout] test l2_sq_large_matches_reference ... ok
[INFO] [stderr]      Running tests/simd_correctness.rs (/opt/rustwide/target/debug/deps/simd_correctness-28a2a8480df03f2d)
[INFO] [stdout] test dot_large_matches_reference ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.58s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test simd_correctness_edge_cases ... ok
[INFO] [stdout] test simd_correctness_l2 ... ok
[INFO] [stdout] test simd_invariant_cosine_range ... ok
[INFO] [stdout] test simd_correctness_cosine ... ok
[INFO] [stdout] test simd_correctness_special_values ... ok
[INFO] [stdout] test simd_correctness_dot_small_dims ... ok
[INFO] [stdout] test simd_invariant_dot_commutative ... ok
[INFO] [stdout] test simd_correctness_l2_squared ... ok
[INFO] [stdout] test simd_invariant_l2_nonnegative ... ok
[INFO] [stdout] test simd_invariant_l2_symmetric ... ok
[INFO] [stdout] test simd_correctness_dot_large_dims ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sparse_maxsim_props.rs (/opt/rustwide/target/debug/deps/sparse_maxsim_props-3e40940c7e5a1264)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests innr
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test src/dense.rs - dense::matryoshka_dot (line 223) ... ok
[INFO] [stdout] test src/dense.rs - dense::pool_mean (line 283) ... ok
[INFO] [stdout] test src/binary.rs - binary::encode_binary (line 93) ... ok
[INFO] [stdout] test src/batch.rs - batch::VerticalBatch (line 78) ... ok
[INFO] [stdout] test src/dense.rs - dense::cosine (line 140) ... ok
[INFO] [stdout] test src/dense.rs - dense::l1_distance (line 329) ... ok
[INFO] [stdout] test src/dense.rs - dense::bilinear (line 385) ... ok
[INFO] [stdout] test src/dense.rs - dense::angular_distance (line 185) ... ok
[INFO] [stdout] test src/binary.rs - binary::binary_hamming (line 114) ... ok
[INFO] [stdout] test src/dense.rs - dense::dot (line 48) ... ok
[INFO] [stdout] test src/dense.rs - dense::norm (line 111) ... ok
[INFO] [stdout] test src/dense.rs - dense::l2_distance_squared (line 351) ... ok
[INFO] [stdout] test src/dense.rs - dense::l2_distance (line 312) ... ok
[INFO] [stdout] test src/binary.rs - binary::binary_jaccard (line 152) ... ok
[INFO] [stdout] test src/binary.rs - binary::binary_dot (line 133) ... ok
[INFO] [stdout] test src/dense.rs - dense::matryoshka_cosine (line 260) ... ok
[INFO] [stdout] test src/fast_math.rs - fast_math::fast_cosine (line 85) ... ok
[INFO] [stdout] test src/lib.rs - (line 39) ... ok
[INFO] [stdout] test src/fast_math.rs - fast_math::fast_rsqrt (line 40) ... ok
[INFO] [stdout] test src/fast_math.rs - fast_math::fast_cosine_dispatch (line 467) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.65s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1f8abc0a498d9cb3fd1bcf8b5cc02d2f64d46e2382d043a4595d2ac21f2fea8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f8abc0a498d9cb3fd1bcf8b5cc02d2f64d46e2382d043a4595d2ac21f2fea8c", kill_on_drop: false }`
[INFO] [stdout] 1f8abc0a498d9cb3fd1bcf8b5cc02d2f64d46e2382d043a4595d2ac21f2fea8c
