Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stable Rust support #45

Open
broccoliSpicy opened this issue Sep 19, 2024 · 2 comments
Open

Stable Rust support #45

broccoliSpicy opened this issue Sep 19, 2024 · 2 comments

Comments

@broccoliSpicy
Copy link

Hey! Fantastic work here!
I am trying to introduce this crate to lance but lance builds on stable rust, is there any plan to support build this awesome crate on stable rust?

@gatesn
Copy link
Contributor

gatesn commented Sep 20, 2024

We currently use const generic expressions to specialize generated code for each bit width.

I imagine it is possible to remove this requirement with some setup of macros that embeds the bit-widths into the function name and leans heavily on the compiler's const evaluation.

I'd consider merging such a PR, provided the API remains sane, the code remains small, and bitpacking remains a reusable kernel inside other encodings like Delta. But it's not something we'll have time to do unless we ourselves have a requirement to move onto stable Rust.

@broccoliSpicy
Copy link
Author

Thanks for the response! @gatesn

At the moment I only use two trait functions unchecked_pack and unchecked_unpack for bitpacking, I modified these two functions into stable rust and put the code in my lance PR, given both projects are Apache 2.0 licensed.

I'd consider merging such a PR, provided the API remains sane, the code remains small, and bitpacking remains a reusable kernel inside other encodings like Delta. But it's not something we'll have time to do unless we ourselves have a requirement to move onto stable Rust.

I would love to work on such a PR to make this awesome crate rust stable in the future!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants