@@ -103,13 +103,13 @@ pub mod rngs;
103103pub mod seq;
104104
105105// Public exports
106- #[ cfg( all ( feature = "std" , feature = "std_rng" , feature = "os_rng" ) ) ]
106+ #[ cfg( feature = "thread_rng" ) ]
107107pub use crate :: rngs:: thread:: rng;
108108
109109/// Access the thread-local generator
110110///
111111/// Use [`rand::rng()`](rng()) instead.
112- #[ cfg( all ( feature = "std" , feature = "std_rng" , feature = "os_rng" ) ) ]
112+ #[ cfg( feature = "thread_rng" ) ]
113113#[ deprecated( since = "0.9.0" , note = "renamed to `rng`" ) ]
114114#[ inline]
115115pub fn thread_rng ( ) -> crate :: rngs:: ThreadRng {
@@ -118,7 +118,7 @@ pub fn thread_rng() -> crate::rngs::ThreadRng {
118118
119119pub use rng:: { Fill , Rng } ;
120120
121- #[ cfg( all ( feature = "std" , feature = "std_rng" , feature = "os_rng" ) ) ]
121+ #[ cfg( feature = "thread_rng" ) ]
122122use crate :: distr:: { Distribution , StandardUniform } ;
123123
124124/// Generate a random value using the thread-local random number generator.
@@ -159,7 +159,7 @@ use crate::distr::{Distribution, StandardUniform};
159159///
160160/// [`StandardUniform`]: distr::StandardUniform
161161/// [`ThreadRng`]: rngs::ThreadRng
162- #[ cfg( all ( feature = "std" , feature = "std_rng" , feature = "os_rng" ) ) ]
162+ #[ cfg( feature = "thread_rng" ) ]
163163#[ inline]
164164pub fn random < T > ( ) -> T
165165where
@@ -179,7 +179,7 @@ where
179179/// let v: Vec<i32> = rand::random_iter().take(5).collect();
180180/// println!("{v:?}");
181181/// ```
182- #[ cfg( all ( feature = "std" , feature = "std_rng" , feature = "os_rng" ) ) ]
182+ #[ cfg( feature = "thread_rng" ) ]
183183#[ inline]
184184pub fn random_iter < T > ( ) -> distr:: DistIter < StandardUniform , rngs:: ThreadRng , T >
185185where
@@ -204,7 +204,7 @@ where
204204/// ```
205205/// Note that the first example can also be achieved (without `collect`'ing
206206/// to a `Vec`) using [`seq::IteratorRandom::choose`].
207- #[ cfg( all ( feature = "std" , feature = "std_rng" , feature = "os_rng" ) ) ]
207+ #[ cfg( feature = "thread_rng" ) ]
208208#[ inline]
209209pub fn random_range < T , R > ( range : R ) -> T
210210where
@@ -228,7 +228,7 @@ where
228228/// # Panics
229229///
230230/// If `p < 0` or `p > 1`.
231- #[ cfg( all ( feature = "std" , feature = "std_rng" , feature = "os_rng" ) ) ]
231+ #[ cfg( feature = "thread_rng" ) ]
232232#[ inline]
233233#[ track_caller]
234234pub fn random_bool ( p : f64 ) -> bool {
@@ -260,7 +260,7 @@ pub fn random_bool(p: f64) -> bool {
260260/// ```
261261///
262262/// [`Bernoulli`]: distr::Bernoulli
263- #[ cfg( all ( feature = "std" , feature = "std_rng" , feature = "os_rng" ) ) ]
263+ #[ cfg( feature = "thread_rng" ) ]
264264#[ inline]
265265#[ track_caller]
266266pub fn random_ratio ( numerator : u32 , denominator : u32 ) -> bool {
@@ -282,7 +282,7 @@ pub fn random_ratio(numerator: u32, denominator: u32) -> bool {
282282/// Note that you can instead use [`random()`] to generate an array of random
283283/// data, though this is slower for small elements (smaller than the RNG word
284284/// size).
285- #[ cfg( all ( feature = "std" , feature = "std_rng" , feature = "os_rng" ) ) ]
285+ #[ cfg( feature = "thread_rng" ) ]
286286#[ inline]
287287#[ track_caller]
288288pub fn fill < T : Fill + ?Sized > ( dest : & mut T ) {
@@ -302,7 +302,7 @@ mod test {
302302 }
303303
304304 #[ test]
305- #[ cfg( all ( feature = "std" , feature = "std_rng" , feature = "os_rng" ) ) ]
305+ #[ cfg( feature = "thread_rng" ) ]
306306 fn test_random ( ) {
307307 let _n: u64 = random ( ) ;
308308 let _f: f32 = random ( ) ;
@@ -316,7 +316,7 @@ mod test {
316316 }
317317
318318 #[ test]
319- #[ cfg( all ( feature = "std" , feature = "std_rng" , feature = "os_rng" ) ) ]
319+ #[ cfg( feature = "thread_rng" ) ]
320320 fn test_range ( ) {
321321 let _n: usize = random_range ( 42 ..=43 ) ;
322322 let _f: f32 = random_range ( 42.0 ..43.0 ) ;
0 commit comments