]> git.lizzy.rs Git - rust.git/blob - src/tools/miri/tests/pass-dep/random.rs
Auto merge of #103604 - JohnTitor:rollup-q4ns2gh, r=JohnTitor
[rust.git] / src / tools / miri / tests / pass-dep / random.rs
1 // mac-os `getrandom_1` does some pointer shenanigans
2 //@compile-flags: -Zmiri-permissive-provenance
3 use rand::{rngs::SmallRng, Rng, SeedableRng};
4
5 fn main() {
6     // Test `getrandom` directly (in multiple different versions).
7     let mut data = vec![0; 16];
8     getrandom_1::getrandom(&mut data).unwrap();
9     getrandom_2::getrandom(&mut data).unwrap();
10
11     // Try seeding with "real" entropy.
12     let mut rng = SmallRng::from_entropy();
13     let _val = rng.gen::<i32>();
14     let _val = rng.gen::<isize>();
15     let _val = rng.gen::<i128>();
16
17     // Also try per-thread RNG.
18     let mut rng = rand::thread_rng();
19     let _val = rng.gen::<i32>();
20     let _val = rng.gen::<isize>();
21     let _val = rng.gen::<i128>();
22 }