1 //@compile-flags: -Zmiri-strict-provenance
2 use rand::{rngs::SmallRng, Rng, SeedableRng};
5 // Test `getrandom` directly.
6 let mut data = vec![0; 16];
7 getrandom::getrandom(&mut data).unwrap();
9 // Try seeding with "real" entropy.
10 let mut rng = SmallRng::from_entropy();
11 let _val = rng.gen::<i32>();
12 let _val = rng.gen::<isize>();
13 let _val = rng.gen::<i128>();
15 // Also try per-thread RNG.
16 let mut rng = rand::thread_rng();
17 let _val = rng.gen::<i32>();
18 let _val = rng.gen::<isize>();
19 let _val = rng.gen::<i128>();