Skip to content

Bump diskann-quantization to edition 2024. - #772

Merged
Mark Hildebrand (hildebrandmw) merged 4 commits into
mainfrom
mhildebr/diskann-quantization-2024
Feb 13, 2026
Merged

Bump diskann-quantization to edition 2024.#772
Mark Hildebrand (hildebrandmw) merged 4 commits into
mainfrom
mhildebr/diskann-quantization-2024

Conversation

@hildebrandmw

@hildebrandmwMark Hildebrand (hildebrandmw) commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Bump diskann-quantization to Rust edition 2024 - addressing instances of the warn-by-default unsafe-op-in-unsafe-fn lint.

The automatically generated flatbuffers code is explicitly excluded from the new lint.

Note that edition 2024 changes rustfmt - so there are significant changes to formatting as well.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates diskann-quantization to Rust edition 2024 and addresses the new warn-by-default unsafe-op-in-unsafe-fn lint by making unsafe operations explicit and suppressing the lint for generated FlatBuffers code.

Changes:

  • Bump diskann-quantization crate to Rust edition 2024.
  • Wrap unsafe operations inside unsafe fn bodies with explicit unsafe { ... } blocks and add/adjust safety justifications.
  • Suppress unsafe_op_in_unsafe_fn warnings for included/generated FlatBuffers modules.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
FileDescription
diskann-quantization/Cargo.tomlSets crate edition to Rust 2024.
diskann-quantization/src/test_util.rsAdds explicit unsafe block for allocator deallocation forwarding.
diskann-quantization/src/multi_vector/matrix.rsAdds explicit unsafe blocks and safety comments for pointer arithmetic and slice creation.
diskann-quantization/src/minmax/multi/meta.rsAdds explicit unsafe block for Box::from_raw deallocation.
diskann-quantization/src/flatbuffers.rsSuppresses unsafe_op_in_unsafe_fn for generated FlatBuffers modules.
diskann-quantization/src/bits/slice.rsAdds explicit unsafe block when calling unsafe internal constructor.
diskann-quantization/src/alloc/mod.rsAdds explicit unsafe block for delegating deallocation.
diskann-quantization/src/alloc/aligned.rsAdds explicit unsafe block + justification for deallocation with adjusted layout.
diskann-quantization/src/algorithms/kmeans/common.rsAdds explicit unsafe block around pointer .add(...).
diskann-quantization/src/algorithms/heap.rsAdds explicit unsafe block for unchecked slice access.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threaddiskann-quantization/src/minmax/multi/meta.rs Outdated
Comment threaddiskann-quantization/src/multi_vector/matrix.rs Outdated
Comment threaddiskann-quantization/src/multi_vector/matrix.rs Outdated
@codecov-commenter

Codecov Comments Bot (codecov-commenter) commented Feb 12, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.92386% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.99%. Comparing base (e093583) to head (4d8154e).
⚠️ Report is 35 commits behind head on main.

Files with missing linesPatch %Lines
diskann-quantization/src/algorithms/heap.rs14.28%6 Missing ⚠️
diskann-quantization/src/minmax/quantizer.rs20.00%4 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@ Coverage Diff @@## main #772 +/- ##
=======================================
Coverage 88.99% 88.99% =======================================
Files 428 428 Lines 78415 78401 -14 =======================================
- Hits 69784 69772 -12 + Misses 8631 8629 -2 
FlagCoverage Δ
miri88.99% <94.92%> (+<0.01%)⬆️
unittests88.99% <94.92%> (+<0.01%)⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing linesCoverage Δ
diskann-quantization/src/algorithms/hadamard.rs97.94% <ø> (ø)
...skann-quantization/src/algorithms/kmeans/common.rs97.45% <100.00%> (ø)
...skann-quantization/src/algorithms/kmeans/lloyds.rs98.10% <ø> (ø)
...ann-quantization/src/algorithms/kmeans/plusplus.rs97.27% <ø> (ø)
...ation/src/algorithms/transforms/double_hadamard.rs76.92% <100.00%> (-0.24%)⬇️
...ann-quantization/src/algorithms/transforms/null.rs100.00% <ø> (ø)
...tion/src/algorithms/transforms/padding_hadamard.rs84.34% <100.00%> (-0.14%)⬇️
...antization/src/algorithms/transforms/test_utils.rs87.89% <ø> (ø)
...nn-quantization/src/algorithms/transforms/utils.rs90.24% <ø> (ø)
diskann-quantization/src/alloc/aligned.rs97.82% <100.00%> (ø)
... and 31 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment threaddiskann-quantization/Cargo.toml
@hildebrandmw
Mark Hildebrand (hildebrandmw) merged commit 471a823 into mainFeb 13, 2026
22 checks passed
@hildebrandmw
Mark Hildebrand (hildebrandmw) deleted the mhildebr/diskann-quantization-2024 branch February 13, 2026 18:49
Mark Hildebrand (hildebrandmw) added a commit that referenced this pull request Feb 13, 2026
## What's Changed
### API Breaking Changes
* Remove the `experimental_avx512` feature. by @hildebrandmw in
#732
* Use VirtualStorageProvider::new_overlay(test_data_root()) in tests by
@Copilot in #726
* save and load max_record_size and leaf_page_size for bftrees by
@backurs in #724
* [multi-vector] Verify `Standard` won't overflow in its constructor. by
@hildebrandmw in #757
* VirtualStorageProvider: Make new() private, add new_physical by
@Copilot in #764
* [minmax] Refactor full query by @arkrishn94 in
#770
* Bump diskann-quantization to edition 2024. by @hildebrandmw in
#772
### Additions
* [multi-vector] Enable cloning of `Mat` and friends. by @hildebrandmw
in #759
* adding bftreepaths in mod.rs by @backurs in
#775
* [quantization] Add `as_raw_ptr`. by @hildebrandmw in
#774
### Bug Fixes
* Fix `diskann` compilation without default-features and add CI tests.
by @hildebrandmw in #722
### Docs and Comments
* Updating the benchmark README to use diskann-benchmark by @bryantower
in #709
* Fix doc comment: Windows line endings are \r\n not \n\r by @Copilot in
#717
* Fix spelling errors in streaming API documentation by @Copilot in
#715
* Add performance diagnostic to `diskann-benchmark` by @hildebrandmw in
#744
* Add agents.md onboarding guide for coding agents by @Copilot in
#765
* [doc] Fix lots of little typos in `diskann-wide` by @hildebrandmw in
#771
### Performance
* [diskann-wide] Optimize `load_simd_first` for 8-bit and 16-bit element
types. by @hildebrandmw in #747
### Dependencies
* Bump bytes from 1.11.0 to 1.11.1 by @dependabot[bot] in
#723
* [diskann] Add note on the selection of `PruneKind` in
`graph::config::Builder`. by @hildebrandmw in
#734
* [diskann-providers] Remove the LRU dependency and make `vfs` and
`serde_json` optional. by @hildebrandmw in
#733
### Infrastructure
* Add initial QEMU tests for `diskann-wide`. by @hildebrandmw in
#719
* [CI] Skip coverage for Dependabot. by @hildebrandmw in
#725
* Add miri test coverage to CI workflow by @Copilot in
#729
* [CI] Add minimal ARM checks by @hildebrandmw in
#745
* Enable CodeQL security analysis by @Copilot in
#754
## New Contributors
* @backurs made their first contribution in
#724
* @arkrishn94 made their first contribution in
#770
**Full Changelog**:
0.45.0...0.46.0
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@hildebrandmw@codecov-commenter@metajack@arkrishn94