-
Notifications
You must be signed in to change notification settings - Fork 480
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
Replace rand with rand_core+rand_os #222
Conversation
What's the benefit of depending on Also, is it possible for us to make this change without breaking compatibility? Since the |
I think this PR is backwards compatible, as |
See rust-random/rand#648. The |
Thanks! This should be included in |
See discussion at #232 , copied below: `1.1` changed the trait bounds for `RistrettoPoint::random` and `Scalar::random`, see #222 and #219. These changes have two benefits: * they unlink us from the `rand` crate and make us depend only on `rand_core`; * they allow passing both owned and borrowed RNGs. The change was not supposed to be a breaking change, since the new bounds are strictly more general than the old ones (as every `RngCore` is an `Rng` and every `&mut RngCore` is an `RngCore`), so the new bound is satisfied in every situation where the old bound applied. The `1.1.0-pre.0` version didn't cause problems on the crates I tested it on, but there was an unexpected problem: https://github.com/interstellar/slingshot/blob/ce71c93a9a29ac3b4f69ce71feb987bd64d6c4ec/spacesuit/src/value.rs#L160-L161 broke, since it took a borrow as input and used it twice. So there was slight breakage. One option is to revert the changes (probably just the ones from #219) and release 1.1.3; another would be to fix up `slingshot` and leave the new bound.
Bumps the `ed25519` crate to the v2.0.0-pre.0 prerelease. This version notably uses the `signature` crate's v2 API: RustCrypto/traits#1141
You don't have to depend on the whole
rand
, insteadrand_core
andrand_os
can be used.