lance-format / lance-format/lance
Enforce unsafe practices with clippy
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 7.1k
- Forks
- 852
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 272
Description
There's two clippy lints we could enable which would make us better about handling unsafe code:
The rational and examples of these can be found at https://std-dev-guide.rust-lang.org/policy/safety-comments.html
We can do this on a crate-by-crate basis to keep each PR small. I think lance-jni can be out of scope, as it's low value. Here's the modules that could benefit most:
- lance-linag, all the SIMD bindings
- lance-index, particularly the PQ distance tables, RaBitQ unpacking
- lance-encoding
- lance-io, particularly io-uring buffer-pointer sites
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Choose one listed crate, such as lance-linag, lance-index, lance-encoding, or lance-io, and review its SIMD, PQ, RaBitQ, or io-uring unsafe sites. Read the linked Clippy lint and Rust safety-comments guidance first, then run Clippy for the selected crate. Done means the two lints are enabled and the selected unsafe code has the required safety documentation or comments.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 64/100