rvf-index uses `std`-only float methods without feature gate
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 76/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- rust
- Domain
- backend, embedded-iot
Research direction
Read crates/rvf/rvf-index/src/lib.rs to understand its conditional no_std support, then inspect the cited float methods in crates/rvf/rvf-index/src/distance.rs and crates/rvf/rvf-index/src/hnsw.rs. Run the crate's no_std build or check for a bare-metal target; done means these sqrt, ln, and floor uses no longer prevent compilation without std.
Written by the indexing model from the issue text.
Description
The rvf-index supports no_std conditionally:
https://github.com/ruvnet/RuVector/blob/5356a84e2f784a33fa497da2e73440d469eb5542/crates/rvf/rvf-index/src/lib.rs#L9
However it uses f32::sqrt, which is only available with std, without feature gate:
https://github.com/ruvnet/RuVector/blob/5356a84e2f784a33fa497da2e73440d469eb5542/crates/rvf/rvf-index/src/distance.rs#L40
It also uses f64::ln, which is only available with std, without feature gate:
https://github.com/ruvnet/RuVector/blob/5356a84e2f784a33fa497da2e73440d469eb5542/crates/rvf/rvf-index/src/hnsw.rs#L166
https://github.com/ruvnet/RuVector/blob/5356a84e2f784a33fa497da2e73440d469eb5542/crates/rvf/rvf-index/src/hnsw.rs#L174
It also uses f64::floor, which is only available with std, without feature gate:
https://github.com/ruvnet/RuVector/blob/5356a84e2f784a33fa497da2e73440d469eb5542/crates/rvf/rvf-index/src/hnsw.rs#L174
This breaks no_std builds and prevents compilation on bare-metal or other no_std-only targets.
- Dominant language
- Rust
- Stars
- 4.5k
- Forks
- 603
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 56
Getting set up
We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.
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.
More from ruvnet/RuVector
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
adr phase-w4-3 pir stretch wave-4
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 3 days
-
state:triage-needed
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Automattic/harper#4503 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
Maintainers usually reply within 2 days