-
Notifications
You must be signed in to change notification settings - Fork 289
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
Remove unstable features #417
Comments
Would the EVM crate also be aimed for compiling on stable? If so, we'd need to remove the |
I'm also assuming here that the same goal is desired in |
This PR mostly lifts 0xPolygonZero#1246 down into the lib level into the starky crate, getting rid of the unstable `generic_const_exprs` feature from the crate entirely. This should work towards the 0xPolygonZero#417 as well. This would probably warrant a minor version bump in the starky crate to 0.2.0, since this would be an API change for anyone relying on starky.
We should work towards making Plonky2 compile on stable.
Unstable features that need to either be removed from Plonky2 or that need to be stabilized in Rust:
asm_sym
Used in oneasm!
block but I can easily remove it and just pass a pointer.generic_const_exprs
Used byPackedField
(infrom_arr
/to_arr
); these methods can be removed, although having to do so will make me curse Rust's half-baked type system. I think it's also used in theplonky2
crate, but I'm not sure where.specialization
There are two traits that use this:Square
andPackable
. The default implementation of the former is just for convenience and can be removed. The latter has a default implementation so Rust can prove that everyField
isPackable
. We can remove the default impl if we merge both traits.stdsimd
Used for Neon support in Poseidon. Also used for packed AVX-512 arithmetic in AVX-512 packed Goldilocks #400. ARM Poseidon can be done in pureasm
, removing the need for intrinsics. We can replace AVX-512 with AVX2 when compiling on stable, at a performance penalty.The text was updated successfully, but these errors were encountered: