use super::*;
use rand::{self, RngCore};
impl Uuid {
pub fn new_v4() -> Self {
let mut rng = rand::thread_rng();
let mut bs: [u8; 16] = Default::default();
rng.fill_bytes(&mut bs);
bs[6] = (bs[6] & 0x0f) | 0x40; bs[8] = (bs[8] & 0x3f) | 0x80;
Uuid::from_bytes(bs)
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_new() {
let uuid = Uuid::new_v4();
assert_eq!(uuid.version(), Version(4));
assert_eq!(uuid.variant(), Variant::RFC4122);
}
}