diff options
| author | ltdk <usr@ltdk.xyz> | 2024-08-18 19:50:41 -0400 |
|---|---|---|
| committer | ltdk <usr@ltdk.xyz> | 2025-01-11 23:57:00 -0500 |
| commit | e37daf0c868efc016dd8039d59d53a03303c9c07 (patch) | |
| tree | ee333b0724e17a36f94ea7047a5251a9bc20a957 /library/std | |
| parent | 12445e0b2c532e389b8293924ed7c2b6fad5238f (diff) | |
| download | rust-e37daf0c868efc016dd8039d59d53a03303c9c07.tar.gz rust-e37daf0c868efc016dd8039d59d53a03303c9c07.zip | |
Add inherent versions of MaybeUninit methods for slices
Diffstat (limited to 'library/std')
| -rw-r--r-- | library/std/src/ffi/os_str/tests.rs | 2 | ||||
| -rw-r--r-- | library/std/src/io/buffered/bufreader/buffer.rs | 2 | ||||
| -rw-r--r-- | library/std/src/path/tests.rs | 4 | ||||
| -rw-r--r-- | library/std/src/sys/pal/windows/mod.rs | 2 | ||||
| -rw-r--r-- | library/std/src/sys/pal/windows/stdio.rs | 6 |
5 files changed, 7 insertions, 9 deletions
diff --git a/library/std/src/ffi/os_str/tests.rs b/library/std/src/ffi/os_str/tests.rs index cbec44c8626..2572b71fd9a 100644 --- a/library/std/src/ffi/os_str/tests.rs +++ b/library/std/src/ffi/os_str/tests.rs @@ -295,7 +295,7 @@ fn clone_to_uninit() { let mut storage = vec![MaybeUninit::<u8>::uninit(); size_of_val::<OsStr>(a)]; unsafe { a.clone_to_uninit(ptr::from_mut::<[_]>(storage.as_mut_slice()).cast()) }; - assert_eq!(a.as_encoded_bytes(), unsafe { MaybeUninit::slice_assume_init_ref(&storage) }); + assert_eq!(a.as_encoded_bytes(), unsafe { storage.assume_init_ref() }); let mut b: Box<OsStr> = OsStr::new("world.exe").into(); assert_eq!(size_of_val::<OsStr>(a), size_of_val::<OsStr>(&b)); diff --git a/library/std/src/io/buffered/bufreader/buffer.rs b/library/std/src/io/buffered/bufreader/buffer.rs index 17721090db5..5251cc302cb 100644 --- a/library/std/src/io/buffered/bufreader/buffer.rs +++ b/library/std/src/io/buffered/bufreader/buffer.rs @@ -50,7 +50,7 @@ impl Buffer { pub fn buffer(&self) -> &[u8] { // SAFETY: self.pos and self.cap are valid, and self.cap => self.pos, and // that region is initialized because those are all invariants of this type. - unsafe { MaybeUninit::slice_assume_init_ref(self.buf.get_unchecked(self.pos..self.filled)) } + unsafe { self.buf.get_unchecked(self.pos..self.filled).assume_init_ref() } } #[inline] diff --git a/library/std/src/path/tests.rs b/library/std/src/path/tests.rs index ff3f7151bb8..3f96ac4672a 100644 --- a/library/std/src/path/tests.rs +++ b/library/std/src/path/tests.rs @@ -2069,9 +2069,7 @@ fn clone_to_uninit() { let mut storage = vec![MaybeUninit::<u8>::uninit(); size_of_val::<Path>(a)]; unsafe { a.clone_to_uninit(ptr::from_mut::<[_]>(storage.as_mut_slice()).cast()) }; - assert_eq!(a.as_os_str().as_encoded_bytes(), unsafe { - MaybeUninit::slice_assume_init_ref(&storage) - }); + assert_eq!(a.as_os_str().as_encoded_bytes(), unsafe { storage.assume_init_ref() }); let mut b: Box<Path> = Path::new("world.exe").into(); assert_eq!(size_of_val::<Path>(a), size_of_val::<Path>(&b)); diff --git a/library/std/src/sys/pal/windows/mod.rs b/library/std/src/sys/pal/windows/mod.rs index 88e6def7a75..4282dbb5493 100644 --- a/library/std/src/sys/pal/windows/mod.rs +++ b/library/std/src/sys/pal/windows/mod.rs @@ -272,7 +272,7 @@ where unreachable!(); } else { // Safety: First `k` values are initialized. - let slice: &[u16] = MaybeUninit::slice_assume_init_ref(&buf[..k]); + let slice: &[u16] = buf[..k].assume_init_ref(); return Ok(f2(slice)); } } diff --git a/library/std/src/sys/pal/windows/stdio.rs b/library/std/src/sys/pal/windows/stdio.rs index 1b735e7f0cb..fd3f559ba19 100644 --- a/library/std/src/sys/pal/windows/stdio.rs +++ b/library/std/src/sys/pal/windows/stdio.rs @@ -207,7 +207,7 @@ fn write_valid_utf8_to_console(handle: c::HANDLE, utf8: &str) -> io::Result<usiz assert!(result != 0, "Unexpected error in MultiByteToWideChar"); // Safety: MultiByteToWideChar initializes `result` values. - MaybeUninit::slice_assume_init_ref(&utf16[..result as usize]) + utf16[..result as usize].assume_init_ref() }; let mut written = write_u16s(handle, utf16)?; @@ -283,7 +283,7 @@ impl io::Read for Stdin { let read = read_u16s_fixup_surrogates(handle, &mut utf16_buf, 1, &mut self.surrogate)?; // Read bytes, using the (now-empty) self.incomplete_utf8 as extra space. let read_bytes = utf16_to_utf8( - unsafe { MaybeUninit::slice_assume_init_ref(&utf16_buf[..read]) }, + unsafe { utf16_buf[..read].assume_init_ref() }, &mut self.incomplete_utf8.bytes, )?; @@ -303,7 +303,7 @@ impl io::Read for Stdin { read_u16s_fixup_surrogates(handle, &mut utf16_buf, amount, &mut self.surrogate)?; // Safety `read_u16s_fixup_surrogates` returns the number of items // initialized. - let utf16s = unsafe { MaybeUninit::slice_assume_init_ref(&utf16_buf[..read]) }; + let utf16s = unsafe { utf16_buf[..read].assume_init_ref() }; match utf16_to_utf8(utf16s, buf) { Ok(value) => return Ok(bytes_copied + value), Err(e) => return Err(e), |
