From 2e2992490d0616e3920a4bde858039506bdfa693 Mon Sep 17 00:00:00 2001 From: Jack Moffitt Date: Mon, 17 Aug 2026 14:48:03 -0500 Subject: [PATCH] Bump toolchain to 1.97.1 --- Cargo.lock | 12 ++++++------ Cargo.toml | 2 +- diskann-benchmark/src/inputs/graph_index.rs | 2 +- diskann-disk/benches/bench_main_iai.rs | 7 ++----- diskann-label-filter/src/parser/query_parser.rs | 12 ++++-------- diskann-quantization/src/minmax/quantizer.rs | 6 +++--- diskann-tools/src/utils/compute_bitmap.rs | 4 ++-- diskann-vector/benches/bench_main_vector_iai.rs | 8 +++----- .../benches/benchmarks_iai/contains_bench_iai.rs | 2 +- diskann-vector/benches/benchmarks_iai/cosine_iai.rs | 2 +- .../benches/benchmarks_iai/cosine_normalized_iai.rs | 2 +- diskann-wide/src/test_utils/distribution.rs | 6 +++++- rust-toolchain.toml | 2 +- 13 files changed, 31 insertions(+), 36 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b28f10fe42..2588eee92a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1288,9 +1288,9 @@ checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "iai-callgrind" -version = "0.14.2" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9e864ad001cbbf35a64f7b574998823b8622bb483a25246fa1b0e2b3888686" +checksum = "0b1e4910d3a9137442723dfb772c32dc10674c4181ca078d2fd227cd5dce9db0" dependencies = [ "bincode", "derive_more", @@ -1300,9 +1300,9 @@ dependencies = [ [[package]] name = "iai-callgrind-macros" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9cee6c3bc32b63ff40e5e56190b1276d2bd0e0b319aa6f998864c27865d3b4e" +checksum = "4d03775318d3f9f01b39ac6612b01464006dc397a654a89dd57df2fd34fb68c3" dependencies = [ "derive_more", "proc-macro-error2", @@ -1315,9 +1315,9 @@ dependencies = [ [[package]] name = "iai-callgrind-runner" -version = "0.14.2" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82491521e6505b06a824274712a1307904e7cdfdf047735f7dfdb28b5f7a337" +checksum = "b74c9743c00c3bca4aaffc69c87cae56837796cd362438daf354a3f785788c68" dependencies = [ "serde", ] diff --git a/Cargo.toml b/Cargo.toml index 6394a7d319..73d7d2d611 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -87,7 +87,7 @@ dashmap = "6.1.0" futures-util = { version = "0.3.31", default-features = false } half = "2.6.0" hashbrown = "0.16.0" -iai-callgrind = "0.14.0" +iai-callgrind = "0.16.1" itertools = "0.13.0" num-traits = "0.2.15" num_cpus = "1.16.0" diff --git a/diskann-benchmark/src/inputs/graph_index.rs b/diskann-benchmark/src/inputs/graph_index.rs index 994cb60cc9..c7ed6c1410 100644 --- a/diskann-benchmark/src/inputs/graph_index.rs +++ b/diskann-benchmark/src/inputs/graph_index.rs @@ -617,7 +617,7 @@ impl IndexLoad { save_and_load::get_graph_max_observed_degree(&storage_provider, &self.load_path)?; let metadata = - load_metadata_from_file(&storage_provider, &format!("{}.data", &self.load_path))?; + load_metadata_from_file(&storage_provider, &format!("{}.data", self.load_path))?; let distance: diskann_vector::distance::Metric = self.distance.into(); let config = config::Builder::new( diff --git a/diskann-disk/benches/bench_main_iai.rs b/diskann-disk/benches/bench_main_iai.rs index e6e612e483..204cc9fd6f 100644 --- a/diskann-disk/benches/bench_main_iai.rs +++ b/diskann-disk/benches/bench_main_iai.rs @@ -5,16 +5,13 @@ use benchmarks_iai::aligned_file_reader_bench_iai::aligned_file_reader_bench_iai; use benchmarks_iai::kmeans_bench_iai::kmeans_bench_iai; -use iai_callgrind::{main, EventKind, LibraryBenchmarkConfig, RegressionConfig}; +use iai_callgrind::{main, Callgrind, EventKind, LibraryBenchmarkConfig}; mod benchmarks_iai; main!( config = LibraryBenchmarkConfig::default() - .regression( - RegressionConfig::default() - .limits([(EventKind::Ir, 5.0), (EventKind::EstimatedCycles, 5.0)]) - ); + .tool(Callgrind::default().soft_limits([(EventKind::Ir, 5.0), (EventKind::EstimatedCycles, 5.0)])); library_benchmark_groups = aligned_file_reader_bench_iai, kmeans_bench_iai, diff --git a/diskann-label-filter/src/parser/query_parser.rs b/diskann-label-filter/src/parser/query_parser.rs index dcc196b99a..3b1bd74173 100644 --- a/diskann-label-filter/src/parser/query_parser.rs +++ b/diskann-label-filter/src/parser/query_parser.rs @@ -84,10 +84,8 @@ fn parse_query_filter_with_depth( if let Some(arr) = obj.get("$and").and_then(|v| v.as_array()) { let mut exprs = Vec::new(); for v in arr { - match parse_query_filter_with_depth(v, depth + 1) { - Ok(expr) => exprs.push(expr), - Err(e) => return Err(e), - } + let expr = parse_query_filter_with_depth(v, depth + 1)?; + exprs.push(expr) } if exprs.is_empty() { return Err(QueryFilterError::ParseFailure( @@ -100,10 +98,8 @@ fn parse_query_filter_with_depth( if let Some(arr) = obj.get("$or").and_then(|v| v.as_array()) { let mut exprs = Vec::new(); for v in arr { - match parse_query_filter_with_depth(v, depth + 1) { - Ok(expr) => exprs.push(expr), - Err(e) => return Err(e), - } + let expr = parse_query_filter_with_depth(v, depth + 1)?; + exprs.push(expr) } if exprs.is_empty() { return Err(QueryFilterError::ParseFailure( diff --git a/diskann-quantization/src/minmax/quantizer.rs b/diskann-quantization/src/minmax/quantizer.rs index ed00b4a641..344e3bb519 100644 --- a/diskann-quantization/src/minmax/quantizer.rs +++ b/diskann-quantization/src/minmax/quantizer.rs @@ -504,9 +504,9 @@ mod minmax_quantizer_tests { assert!( (reconstruction_error / norm) <= relative_err, "Expected vector : {:?} to be reconstructed within error {} but instead got : {:?}, with error {} for dim : {}", - &vector, + vector, relative_err, - &reconstructed, + reconstructed, reconstruction_error / norm, dim, ); @@ -522,7 +522,7 @@ mod minmax_quantizer_tests { "Encoded vector with dim : {dim} is {:?}, got error : {} for vector : {:?}", encoded.reborrow(), (code_sum - expected_code_sum).abs(), - &vector, + vector, ); let recon_norm_sq = reconstructed.iter().map(|x| x * x).sum::(); assert!((encoded.reborrow().meta().norm_squared - recon_norm_sq).abs() <= 1e-3); diff --git a/diskann-tools/src/utils/compute_bitmap.rs b/diskann-tools/src/utils/compute_bitmap.rs index 107d0a10aa..ef5977e54c 100644 --- a/diskann-tools/src/utils/compute_bitmap.rs +++ b/diskann-tools/src/utils/compute_bitmap.rs @@ -79,7 +79,7 @@ impl QueryAccelerator for InvertedIndexAccelerator { fn universe(&self) -> BitSet { let mut result = BitSet::new(); - for (_, bits) in self.map.iter() { + for bits in self.map.values() { result.extend(bits); } result @@ -121,7 +121,7 @@ impl QueryAccelerator for BTreeAccelerator { fn universe(&self) -> BitSet { let mut result = BitSet::new(); - for (_, ids) in self.map.iter() { + for ids in self.map.values() { result.extend(ids.iter().cloned()); } result diff --git a/diskann-vector/benches/bench_main_vector_iai.rs b/diskann-vector/benches/bench_main_vector_iai.rs index bb2ffe0018..2c47eab841 100644 --- a/diskann-vector/benches/bench_main_vector_iai.rs +++ b/diskann-vector/benches/bench_main_vector_iai.rs @@ -4,16 +4,14 @@ */ use benchmarks_iai::{contains_bench_iai::*, cosine_iai::*, cosine_normalized_iai::*, l2_iai::*}; -use iai_callgrind::{main, EventKind, LibraryBenchmarkConfig, RegressionConfig}; +use iai_callgrind::{main, Callgrind, EventKind, LibraryBenchmarkConfig}; mod benchmarks_iai; pub(crate) mod utils; main!( config = LibraryBenchmarkConfig::default() - .regression( - RegressionConfig::default() - .limits([(EventKind::Ir, 5.0), (EventKind::EstimatedCycles, 5.0), (EventKind::TotalRW, 5.0), (EventKind::L1hits, 5.0)]) - ); + .tool(Callgrind::default().soft_limits([(EventKind::Ir, 5.0), (EventKind::EstimatedCycles, 5.0), (EventKind::TotalRW, 5.0), (EventKind::L1hits, 5.0)])); + library_benchmark_groups = benchmark_contains_bench_iai, cosine_f16_iai, diff --git a/diskann-vector/benches/benchmarks_iai/contains_bench_iai.rs b/diskann-vector/benches/benchmarks_iai/contains_bench_iai.rs index 17c3c91591..afdbeae5b4 100644 --- a/diskann-vector/benches/benchmarks_iai/contains_bench_iai.rs +++ b/diskann-vector/benches/benchmarks_iai/contains_bench_iai.rs @@ -3,8 +3,8 @@ * Licensed under the MIT license. */ use diskann_vector::contains::ContainsSimd; -use iai_callgrind::black_box; use rand::{distr::Uniform, prelude::Distribution, rngs::StdRng, Rng, SeedableRng}; +use std::hint::black_box; iai_callgrind::library_benchmark_group!( name = benchmark_contains_bench_iai; diff --git a/diskann-vector/benches/benchmarks_iai/cosine_iai.rs b/diskann-vector/benches/benchmarks_iai/cosine_iai.rs index afd643a891..df9de57fb3 100644 --- a/diskann-vector/benches/benchmarks_iai/cosine_iai.rs +++ b/diskann-vector/benches/benchmarks_iai/cosine_iai.rs @@ -7,9 +7,9 @@ use std::num::NonZeroUsize; use diskann_vector::{distance::Cosine, DistanceFunction}; use half::f16; -use iai_callgrind::black_box; use rand::{rngs::StdRng, SeedableRng}; use rand_distr::{Distribution, Normal, StandardUniform}; +use std::hint::black_box; use crate::utils::{AlignedDataset, AlignedVector, DatasetArgs, InlineBarrier, Static}; iai_callgrind::library_benchmark_group!( diff --git a/diskann-vector/benches/benchmarks_iai/cosine_normalized_iai.rs b/diskann-vector/benches/benchmarks_iai/cosine_normalized_iai.rs index 0d4533d5b6..cc1199aba8 100644 --- a/diskann-vector/benches/benchmarks_iai/cosine_normalized_iai.rs +++ b/diskann-vector/benches/benchmarks_iai/cosine_normalized_iai.rs @@ -7,9 +7,9 @@ use std::num::NonZeroUsize; use diskann_vector::distance::CosineNormalized; use half::f16; -use iai_callgrind::black_box; use rand::{rngs::StdRng, SeedableRng}; use rand_distr::{Distribution, Normal}; +use std::hint::black_box; use crate::utils::{AlignedDataset, AlignedVector, DatasetArgs, InlineBarrier, Static}; diff --git a/diskann-wide/src/test_utils/distribution.rs b/diskann-wide/src/test_utils/distribution.rs index dc5a3804fb..37a0d2e8ae 100644 --- a/diskann-wide/src/test_utils/distribution.rs +++ b/diskann-wide/src/test_utils/distribution.rs @@ -103,7 +103,11 @@ macro_rules! finite { // infinity/NaN). // // The mantissa is allowed to be all zeros. - (<$T>::EXPONENT_MASK | <$T>::MANTISSA_MASK, false, true) + ( + <$T as Layout>::EXPONENT_MASK | <$T as Layout>::MANTISSA_MASK, + false, + true, + ) } else if kind < NORMAL_WEIGHT + SUBNORMAL_WEIGHT { // Generate a subnormal floating point number. // diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 5dddcd9d9d..6e9e73dfa3 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.95" +channel = "1.97.1" components = ["rust-src"]