@@ -32,13 +32,12 @@ const SHARED_SECRET_SIZE: usize = constants::SECRET_KEY_SIZE;
3232/// # Examples
3333///
3434/// ```
35- /// # #[cfg(all( feature = "std", feature = " rand-std") )] {
36- /// # use secp256k1::Secp256k1;
35+ /// # #[cfg(feature = "rand-std")] {
36+ /// # use secp256k1::{rand, Secp256k1} ;
3737/// # use secp256k1::ecdh::SharedSecret;
38- /// # use secp256k1::rand::thread_rng;
3938/// let s = Secp256k1::new();
40- /// let (sk1, pk1) = s.generate_keypair(&mut thread_rng());
41- /// let (sk2, pk2) = s.generate_keypair(&mut thread_rng());
39+ /// let (sk1, pk1) = s.generate_keypair(&mut rand:: thread_rng());
40+ /// let (sk2, pk2) = s.generate_keypair(&mut rand:: thread_rng());
4241/// let sec1 = SharedSecret::new(&pk2, &sk1);
4342/// let sec2 = SharedSecret::new(&pk1, &sk2);
4443/// assert_eq!(sec1, sec2);
@@ -122,14 +121,13 @@ impl AsRef<[u8]> for SharedSecret {
122121///
123122/// # Examples
124123/// ```
125- /// # #[cfg(all(feature = "bitcoin-hashes-std", feature = "rand-std", feature = "std" ))] {
126- /// # use secp256k1::{ecdh, Secp256k1, PublicKey, SecretKey};
124+ /// # #[cfg(all(feature = "bitcoin-hashes-std", feature = "rand-std"))] {
125+ /// # use secp256k1::{ecdh, rand, Secp256k1, PublicKey, SecretKey};
127126/// # use secp256k1::hashes::{Hash, sha512};
128- /// # use secp256k1::rand::thread_rng;
129127///
130128/// let s = Secp256k1::new();
131- /// let (sk1, pk1) = s.generate_keypair(&mut thread_rng());
132- /// let (sk2, pk2) = s.generate_keypair(&mut thread_rng());
129+ /// let (sk1, pk1) = s.generate_keypair(&mut rand:: thread_rng());
130+ /// let (sk2, pk2) = s.generate_keypair(&mut rand:: thread_rng());
133131///
134132/// let point1 = ecdh::shared_secret_point(&pk2, &sk1);
135133/// let secret1 = sha512::Hash::hash(&point1);
@@ -201,19 +199,18 @@ impl<'de> ::serde::Deserialize<'de> for SharedSecret {
201199#[ cfg( test) ]
202200#[ allow( unused_imports) ]
203201mod tests {
204- use rand:: thread_rng;
205202 #[ cfg( target_arch = "wasm32" ) ]
206203 use wasm_bindgen_test:: wasm_bindgen_test as test;
207204
208205 use super :: SharedSecret ;
209206 use crate :: Secp256k1 ;
210207
211208 #[ test]
212- #[ cfg( all ( feature = "rand-std" , any ( feature = "alloc" , feature = "std" ) ) ) ]
209+ #[ cfg( feature = "rand-std" ) ]
213210 fn ecdh ( ) {
214211 let s = Secp256k1 :: signing_only ( ) ;
215- let ( sk1, pk1) = s. generate_keypair ( & mut thread_rng ( ) ) ;
216- let ( sk2, pk2) = s. generate_keypair ( & mut thread_rng ( ) ) ;
212+ let ( sk1, pk1) = s. generate_keypair ( & mut rand :: thread_rng ( ) ) ;
213+ let ( sk2, pk2) = s. generate_keypair ( & mut rand :: thread_rng ( ) ) ;
217214
218215 let sec1 = SharedSecret :: new ( & pk2, & sk1) ;
219216 let sec2 = SharedSecret :: new ( & pk1, & sk2) ;
@@ -241,15 +238,15 @@ mod tests {
241238
242239 #[ test]
243240 #[ cfg( not( fuzzing) ) ]
244- #[ cfg( all( feature = "std" , feature = "rand- std", feature = "bitcoin-hashes -std" ) ) ]
241+ #[ cfg( all( feature = "bitcoin-hashes- std" , feature = "rand -std" ) ) ]
245242 fn bitcoin_hashes_and_sys_generate_same_secret ( ) {
246243 use bitcoin_hashes:: { sha256, Hash , HashEngine } ;
247244
248245 use crate :: ecdh:: shared_secret_point;
249246
250247 let s = Secp256k1 :: signing_only ( ) ;
251- let ( sk1, _) = s. generate_keypair ( & mut thread_rng ( ) ) ;
252- let ( _, pk2) = s. generate_keypair ( & mut thread_rng ( ) ) ;
248+ let ( sk1, _) = s. generate_keypair ( & mut rand :: thread_rng ( ) ) ;
249+ let ( _, pk2) = s. generate_keypair ( & mut rand :: thread_rng ( ) ) ;
253250
254251 let secret_sys = SharedSecret :: new ( & pk2, & sk1) ;
255252
@@ -266,7 +263,7 @@ mod tests {
266263 }
267264
268265 #[ test]
269- #[ cfg( all( feature = "serde" , any ( feature = "alloc" , feature = "std" ) ) ) ]
266+ #[ cfg( all( feature = "serde" , feature = "alloc" ) ) ]
270267 fn serde ( ) {
271268 use serde_test:: { assert_tokens, Configure , Token } ;
272269 #[ rustfmt:: skip]
@@ -291,8 +288,8 @@ mod tests {
291288}
292289
293290#[ cfg( bench) ]
291+ #[ cfg( feature = "rand-std" ) ] // Currently only a single bench that requires "rand-std".
294292mod benches {
295- use rand:: thread_rng;
296293 use test:: { black_box, Bencher } ;
297294
298295 use super :: SharedSecret ;
@@ -301,7 +298,7 @@ mod benches {
301298 #[ bench]
302299 pub fn bench_ecdh ( bh : & mut Bencher ) {
303300 let s = Secp256k1 :: signing_only ( ) ;
304- let ( sk, pk) = s. generate_keypair ( & mut thread_rng ( ) ) ;
301+ let ( sk, pk) = s. generate_keypair ( & mut rand :: thread_rng ( ) ) ;
305302
306303 bh. iter ( || {
307304 let res = SharedSecret :: new ( & pk, & sk) ;
0 commit comments