zcash / pasta_curves

Rust implementation for zcash/pasta
Other
81 stars 49 forks source link

Move `lazy_static/spin_no_std` out of default features and behind a separate feature flag #81

Open str4d opened 7 months ago

str4d commented 7 months ago

We currently enable lazy_static/spin_no_std at the request of downstream users who want to use pasta_curves in an alloc no-std environment. However, other downstream users want to not have that flag enabled as they don't want to depend on spin.

https://github.com/rust-lang/cargo/issues/8170 means that we cannot disable a dependency feature flag when we enable one of our own feature flags, so AFAICT the only option to enable both use cases is to add a separate feature flag for enabling lazy_static/spin_no_std, that is off by default (i.e. std by default, matching the rest of the Rust ecosystem). This is a breaking change (as downstream users depending on that will break) so needs to be released in a 0.6.0 release (which we should do anyway for the MSRV bump).