Skip to content

Commit 94171f1

Browse files
committed
clarify a safety comment
1 parent 2e719f2 commit 94171f1

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

library/core/src/char/methods.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1777,10 +1777,10 @@ pub fn encode_utf8_raw(code: u32, dst: &mut [u8]) -> &mut [u8] {
17771777
dst.len(),
17781778
);
17791779
}
1780-
// SAFETY: it's safe to pretend that the bytes in the slice may be uninitialized
1781-
let dst = unsafe { &mut *(dst as *mut [u8] as *mut [MaybeUninit<u8>]) };
1782-
// SAFETY: `dst` has been checked to be long enough to hold the encoded codepoint
1783-
unsafe { encode_utf8_raw_unchecked(code, dst) }
1780+
1781+
// SAFETY: `encode_utf8_raw_unchecked` only writes initialized bytes to the slice,
1782+
// `dst` has been checked to be long enough to hold the encoded codepoint
1783+
unsafe { encode_utf8_raw_unchecked(code, &mut *(dst as *mut [u8] as *mut [MaybeUninit<u8>])) }
17841784
}
17851785

17861786
/// Encodes a raw u32 value as UTF-8 into the provided possibly uninitialized byte buffer,

0 commit comments

Comments
 (0)