Skip to content

Commit ae9d7b0

Browse files
committed
Auto merge of rust-lang#116385 - kornelski:maybe-rename, r=Amanieu
Rename MaybeUninit::write_slice A step to push rust-lang#79995 forward. rust-lang/libs-team#122 also suggested to make them inherent methods, but they can't be — they'd conflict with slice's regular methods.
2 parents c9a7db6 + da3db9a commit ae9d7b0

File tree

5 files changed

+22
-22
lines changed

5 files changed

+22
-22
lines changed

library/core/src/io/borrowed_buf.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ impl<'a> BorrowedCursor<'a> {
289289

290290
// SAFETY: we do not de-initialize any of the elements of the slice
291291
unsafe {
292-
MaybeUninit::write_slice(&mut self.as_mut()[..buf.len()], buf);
292+
MaybeUninit::copy_from_slice(&mut self.as_mut()[..buf.len()], buf);
293293
}
294294

295295
// SAFETY: We just added the entire contents of buf to the filled section.

library/core/src/mem/maybe_uninit.rs

+11-11
Original file line numberDiff line numberDiff line change
@@ -1016,7 +1016,7 @@ impl<T> MaybeUninit<T> {
10161016

10171017
/// Copies the elements from `src` to `this`, returning a mutable reference to the now initialized contents of `this`.
10181018
///
1019-
/// If `T` does not implement `Copy`, use [`write_slice_cloned`]
1019+
/// If `T` does not implement `Copy`, use [`clone_from_slice`]
10201020
///
10211021
/// This is similar to [`slice::copy_from_slice`].
10221022
///
@@ -1033,7 +1033,7 @@ impl<T> MaybeUninit<T> {
10331033
/// let mut dst = [MaybeUninit::uninit(); 32];
10341034
/// let src = [0; 32];
10351035
///
1036-
/// let init = MaybeUninit::write_slice(&mut dst, &src);
1036+
/// let init = MaybeUninit::copy_from_slice(&mut dst, &src);
10371037
///
10381038
/// assert_eq!(init, src);
10391039
/// ```
@@ -1045,7 +1045,7 @@ impl<T> MaybeUninit<T> {
10451045
/// let mut vec = Vec::with_capacity(32);
10461046
/// let src = [0; 16];
10471047
///
1048-
/// MaybeUninit::write_slice(&mut vec.spare_capacity_mut()[..src.len()], &src);
1048+
/// MaybeUninit::copy_from_slice(&mut vec.spare_capacity_mut()[..src.len()], &src);
10491049
///
10501050
/// // SAFETY: we have just copied all the elements of len into the spare capacity
10511051
/// // the first src.len() elements of the vec are valid now.
@@ -1056,9 +1056,9 @@ impl<T> MaybeUninit<T> {
10561056
/// assert_eq!(vec, src);
10571057
/// ```
10581058
///
1059-
/// [`write_slice_cloned`]: MaybeUninit::write_slice_cloned
1059+
/// [`clone_from_slice`]: MaybeUninit::clone_from_slice
10601060
#[unstable(feature = "maybe_uninit_write_slice", issue = "79995")]
1061-
pub fn write_slice<'a>(this: &'a mut [MaybeUninit<T>], src: &[T]) -> &'a mut [T]
1061+
pub fn copy_from_slice<'a>(this: &'a mut [MaybeUninit<T>], src: &[T]) -> &'a mut [T]
10621062
where
10631063
T: Copy,
10641064
{
@@ -1074,7 +1074,7 @@ impl<T> MaybeUninit<T> {
10741074
/// Clones the elements from `src` to `this`, returning a mutable reference to the now initialized contents of `this`.
10751075
/// Any already initialized elements will not be dropped.
10761076
///
1077-
/// If `T` implements `Copy`, use [`write_slice`]
1077+
/// If `T` implements `Copy`, use [`copy_from_slice`]
10781078
///
10791079
/// This is similar to [`slice::clone_from_slice`] but does not drop existing elements.
10801080
///
@@ -1093,7 +1093,7 @@ impl<T> MaybeUninit<T> {
10931093
/// let mut dst = [MaybeUninit::uninit(), MaybeUninit::uninit(), MaybeUninit::uninit(), MaybeUninit::uninit(), MaybeUninit::uninit()];
10941094
/// let src = ["wibbly".to_string(), "wobbly".to_string(), "timey".to_string(), "wimey".to_string(), "stuff".to_string()];
10951095
///
1096-
/// let init = MaybeUninit::write_slice_cloned(&mut dst, &src);
1096+
/// let init = MaybeUninit::clone_from_slice(&mut dst, &src);
10971097
///
10981098
/// assert_eq!(init, src);
10991099
/// ```
@@ -1105,7 +1105,7 @@ impl<T> MaybeUninit<T> {
11051105
/// let mut vec = Vec::with_capacity(32);
11061106
/// let src = ["rust", "is", "a", "pretty", "cool", "language"];
11071107
///
1108-
/// MaybeUninit::write_slice_cloned(&mut vec.spare_capacity_mut()[..src.len()], &src);
1108+
/// MaybeUninit::clone_from_slice(&mut vec.spare_capacity_mut()[..src.len()], &src);
11091109
///
11101110
/// // SAFETY: we have just cloned all the elements of len into the spare capacity
11111111
/// // the first src.len() elements of the vec are valid now.
@@ -1116,9 +1116,9 @@ impl<T> MaybeUninit<T> {
11161116
/// assert_eq!(vec, src);
11171117
/// ```
11181118
///
1119-
/// [`write_slice`]: MaybeUninit::write_slice
1119+
/// [`copy_from_slice`]: MaybeUninit::copy_from_slice
11201120
#[unstable(feature = "maybe_uninit_write_slice", issue = "79995")]
1121-
pub fn write_slice_cloned<'a>(this: &'a mut [MaybeUninit<T>], src: &[T]) -> &'a mut [T]
1121+
pub fn clone_from_slice<'a>(this: &'a mut [MaybeUninit<T>], src: &[T]) -> &'a mut [T]
11221122
where
11231123
T: Clone,
11241124
{
@@ -1261,7 +1261,7 @@ impl<T> MaybeUninit<T> {
12611261
///
12621262
/// let mut uninit = [MaybeUninit::<u16>::uninit(), MaybeUninit::<u16>::uninit()];
12631263
/// let uninit_bytes = MaybeUninit::slice_as_bytes_mut(&mut uninit);
1264-
/// MaybeUninit::write_slice(uninit_bytes, &[0x12, 0x34, 0x56, 0x78]);
1264+
/// MaybeUninit::copy_from_slice(uninit_bytes, &[0x12, 0x34, 0x56, 0x78]);
12651265
/// let vals = unsafe { MaybeUninit::slice_assume_init_ref(&uninit) };
12661266
/// if cfg!(target_endian = "little") {
12671267
/// assert_eq!(vals, &[0x3412u16, 0x7856u16]);

library/core/src/net/display_buffer.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ impl<const SIZE: usize> fmt::Write for DisplayBuffer<SIZE> {
3030
let bytes = s.as_bytes();
3131

3232
if let Some(buf) = self.buf.get_mut(self.len..(self.len + bytes.len())) {
33-
MaybeUninit::write_slice(buf, bytes);
33+
MaybeUninit::copy_from_slice(buf, bytes);
3434
self.len += bytes.len();
3535
Ok(())
3636
} else {

library/core/tests/mem.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ fn uninit_write_slice() {
205205
let mut dst = [MaybeUninit::new(255); 64];
206206
let src = [0; 64];
207207

208-
assert_eq!(MaybeUninit::write_slice(&mut dst, &src), &src);
208+
assert_eq!(MaybeUninit::copy_from_slice(&mut dst, &src), &src);
209209
}
210210

211211
#[test]
@@ -214,7 +214,7 @@ fn uninit_write_slice_panic_lt() {
214214
let mut dst = [MaybeUninit::uninit(); 64];
215215
let src = [0; 32];
216216

217-
MaybeUninit::write_slice(&mut dst, &src);
217+
MaybeUninit::copy_from_slice(&mut dst, &src);
218218
}
219219

220220
#[test]
@@ -223,15 +223,15 @@ fn uninit_write_slice_panic_gt() {
223223
let mut dst = [MaybeUninit::uninit(); 64];
224224
let src = [0; 128];
225225

226-
MaybeUninit::write_slice(&mut dst, &src);
226+
MaybeUninit::copy_from_slice(&mut dst, &src);
227227
}
228228

229229
#[test]
230230
fn uninit_clone_from_slice() {
231231
let mut dst = [MaybeUninit::new(255); 64];
232232
let src = [0; 64];
233233

234-
assert_eq!(MaybeUninit::write_slice_cloned(&mut dst, &src), &src);
234+
assert_eq!(MaybeUninit::clone_from_slice(&mut dst, &src), &src);
235235
}
236236

237237
#[test]
@@ -240,7 +240,7 @@ fn uninit_write_slice_cloned_panic_lt() {
240240
let mut dst = [MaybeUninit::uninit(); 64];
241241
let src = [0; 32];
242242

243-
MaybeUninit::write_slice_cloned(&mut dst, &src);
243+
MaybeUninit::clone_from_slice(&mut dst, &src);
244244
}
245245

246246
#[test]
@@ -249,7 +249,7 @@ fn uninit_write_slice_cloned_panic_gt() {
249249
let mut dst = [MaybeUninit::uninit(); 64];
250250
let src = [0; 128];
251251

252-
MaybeUninit::write_slice_cloned(&mut dst, &src);
252+
MaybeUninit::clone_from_slice(&mut dst, &src);
253253
}
254254

255255
#[test]
@@ -290,7 +290,7 @@ fn uninit_write_slice_cloned_mid_panic() {
290290
];
291291

292292
let err = panic::catch_unwind(panic::AssertUnwindSafe(|| {
293-
MaybeUninit::write_slice_cloned(&mut dst, &src);
293+
MaybeUninit::clone_from_slice(&mut dst, &src);
294294
}));
295295

296296
drop(src);
@@ -322,7 +322,7 @@ fn uninit_write_slice_cloned_no_drop() {
322322
let mut dst = [MaybeUninit::uninit()];
323323
let src = [Bomb];
324324

325-
MaybeUninit::write_slice_cloned(&mut dst, &src);
325+
MaybeUninit::clone_from_slice(&mut dst, &src);
326326

327327
forget(src);
328328
}

library/proc_macro/src/bridge/arena.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ impl Arena {
105105
#[allow(clippy::mut_from_ref)] // arena allocator
106106
pub(crate) fn alloc_str<'a>(&'a self, string: &str) -> &'a mut str {
107107
let alloc = self.alloc_raw(string.len());
108-
let bytes = MaybeUninit::write_slice(alloc, string.as_bytes());
108+
let bytes = MaybeUninit::copy_from_slice(alloc, string.as_bytes());
109109

110110
// SAFETY: we convert from `&str` to `&[u8]`, clone it into the arena,
111111
// and immediately convert the clone back to `&str`.

0 commit comments

Comments
 (0)