///
/// [`ptr::write_bytes`]: crate::ptr::write_bytes()
#[stable(feature = "pointer_methods", since = "1.26.0")]
+ #[rustc_const_unstable(feature = "const_ptr_write", issue = "86302")]
#[inline(always)]
- pub unsafe fn write_bytes(self, val: u8, count: usize)
+ pub const unsafe fn write_bytes(self, val: u8, count: usize)
where
T: Sized,
{
assert!(xs == [5u8; 20]);
}
+#[test]
+#[cfg(not(bootstrap))]
+fn test_set_memory_const() {
+ const XS: [u8; 20] = {
+ let mut xs = [0u8; 20];
+ let ptr = xs.as_mut_ptr();
+ unsafe {
+ ptr.write_bytes(5u8, xs.len());
+ }
+ xs
+ };
+
+ assert!(XS == [5u8; 20]);
+}
+
#[test]
fn test_unsized_nonnull() {
let xs: &[i32] = &[1, 2, 3];