use crate::rng::get_random_bytes; use crate::{Uuid, Variant, Version}; impl Uuid { pub fn new_v4() -> Self { Uuid::new_random() } pub fn new_random() -> Self { let mut bytes = get_random_bytes(); Uuid::set_variant(&mut bytes, Variant::Default); Uuid::set_version(&mut bytes, Version::Random); Uuid(bytes) } } #[cfg(test)] mod tests { use crate::{Uuid, Variant}; #[test] fn new_v4__variant() { let uuid = Uuid::new_v4(); assert_eq!(uuid.get_variant(), Variant::Default); } }