Skip to content

Commit b5c1412

Browse files
committed
Add doc to fill_via_chunks
1 parent dfd850c commit b5c1412

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

rand_core/src/impls.rs

+8-1
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,19 @@ impl Observable for u64 {
7979
}
8080
}
8181

82+
/// Fill dest from src
83+
///
84+
/// Returns `(n, byte_len)`. `src[..n]` is consumed (and possibly mutated),
85+
/// `dest[..byte_len]` is filled. `src[n..]` and `dest[byte_len..]` are left
86+
/// unaltered.
8287
fn fill_via_chunks<T: Observable>(src: &mut [T], dest: &mut [u8]) -> (usize, usize) {
8388
let size = core::mem::size_of::<T>();
8489
let byte_len = min(src.len() * size, dest.len());
8590
let num_chunks = (byte_len + size - 1) / size;
8691

87-
// Byte-swap for portability of results:
92+
// Byte-swap for portability of results. This must happen before copying
93+
// since the size of dest is not guaranteed to be a multiple of T or to be
94+
// sufficiently aligned.
8895
if cfg!(target_endian = "big") {
8996
for x in &mut src[..num_chunks] {
9097
*x = x.to_le();

0 commit comments

Comments
 (0)