use crate::sys::pal::abi; pub fn fill_bytes(bytes: &mut [u8]) { let (pre, words, post) = unsafe { bytes.align_to_mut::() }; if !words.is_empty() { unsafe { abi::sys_rand(words.as_mut_ptr(), words.len()); } } let mut buf = [0u32; 2]; let len = (pre.len() + post.len() + size_of::() - 1) / size_of::(); if len != 0 { unsafe { abi::sys_rand(buf.as_mut_ptr(), len) }; } let buf = buf.map(u32::to_ne_bytes); let buf = buf.as_flattened(); pre.copy_from_slice(&buf[..pre.len()]); post.copy_from_slice(&buf[pre.len()..pre.len() + post.len()]); }