Skip to content

Commit 4ab2575

Browse files
matte1782claude
andcommitted
fix(ci): resolve Clippy errors blocking CI — redundant usize casts + float_cmp
- Remove 3 redundant `as usize` casts in PQ test (m and ksub already usize) - Fix single-char string pattern: contains("7") → contains('7') - Allow clippy::float_cmp on bit-identical code round-trip assertion - CI was failing on Clippy, causing Miri to be cancelled Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 745b09e commit 4ab2575

1 file changed

Lines changed: 13 additions & 9 deletions

File tree

src/quantization/product.rs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -882,7 +882,7 @@ mod tests {
882882
num_subquantizers: 7,
883883
};
884884
assert!(err.to_string().contains("768"));
885-
assert!(err.to_string().contains("7"));
885+
assert!(err.to_string().contains('7'));
886886
}
887887

888888
// =========================================================================
@@ -1944,16 +1944,20 @@ mod tests {
19441944
);
19451945

19461946
// Distance via original and reconstructed must match exactly
1947+
// (same code bytes → same distance table lookups → bit-identical result)
19471948
let dt_42 = cb
19481949
.compute_distance_table(&data[42])
19491950
.expect("distance table for vector 42");
19501951
let dist_original = dt_42.compute_distance(&original_code);
19511952
let dist_reconstructed = dt_42.compute_distance(&reconstructed);
1952-
assert_eq!(
1953-
dist_original, dist_reconstructed,
1954-
"distance through from_codes round-trip must be identical: {} vs {}",
1955-
dist_original, dist_reconstructed
1956-
);
1953+
#[allow(clippy::float_cmp)] // Bit-identical codes produce bit-identical distances
1954+
{
1955+
assert_eq!(
1956+
dist_original, dist_reconstructed,
1957+
"distance through from_codes round-trip must be identical: {} vs {}",
1958+
dist_original, dist_reconstructed
1959+
);
1960+
}
19571961
}
19581962

19591963
#[test]
@@ -2008,7 +2012,7 @@ mod tests {
20082012
let cb = PqCodebook::train(&refs, m, ksub, 5).unwrap();
20092013

20102014
// Valid code: all bytes < ksub — should work
2011-
let valid_code = PqCode::from_codes(vec![0u8; m as usize]);
2015+
let valid_code = PqCode::from_codes(vec![0u8; m]);
20122016
let query: Vec<f32> = (0..dim).map(|_| rng.gen::<f32>()).collect();
20132017
let dt = cb.compute_distance_table(&query).unwrap();
20142018
let dist = dt.compute_distance(&valid_code);
@@ -2018,14 +2022,14 @@ mod tests {
20182022
);
20192023

20202024
// Invalid code: byte == ksub — this is what WASM boundary must reject
2021-
let invalid_code = PqCode::from_codes(vec![ksub as u8; m as usize]);
2025+
let invalid_code = PqCode::from_codes(vec![ksub as u8; m]);
20222026
// We don't call compute_distance with invalid_code here because it
20232027
// would panic (assert_eq on subquantizer count passes but indexing
20242028
// into distance table would be OOB). The WASM boundary test below
20252029
// verifies the rejection path.
20262030
assert_eq!(invalid_code.codes()[0], ksub as u8);
20272031
assert!(
2028-
(invalid_code.codes()[0] as usize) >= ksub as usize,
2032+
(invalid_code.codes()[0] as usize) >= ksub,
20292033
"Code byte must be >= ksub to be invalid"
20302034
);
20312035
}

0 commit comments

Comments
 (0)