diff options
| author | Yuki Okushi <jtitor@2k36.org> | 2022-10-18 21:21:32 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-18 21:21:32 +0900 |
| commit | b411b8861c06bd34aa279776dd48711e26b4163d (patch) | |
| tree | 4164bfc95d4d89c1408865ecd9b04e3e124ee857 /library/core | |
| parent | e04bbcb9b1e8f13c09252c7a43011a6b0c9b8dba (diff) | |
| parent | 55d71c61b8797117ba0efa972514451a29c69c28 (diff) | |
| download | rust-b411b8861c06bd34aa279776dd48711e26b4163d.tar.gz rust-b411b8861c06bd34aa279776dd48711e26b4163d.zip | |
Rollup merge of #103163 - SUPERCILEX:uninit-array-assume2, r=scottmcm
Remove all uses of array_assume_init See https://github.com/rust-lang/rust/pull/103134#discussion_r997462733 r? `@scottmcm`
Diffstat (limited to 'library/core')
| -rw-r--r-- | library/core/src/array/iter.rs | 5 | ||||
| -rw-r--r-- | library/core/src/array/mod.rs | 2 | ||||
| -rw-r--r-- | library/core/tests/lib.rs | 2 | ||||
| -rw-r--r-- | library/core/tests/mem.rs | 6 |
4 files changed, 7 insertions, 8 deletions
diff --git a/library/core/src/array/iter.rs b/library/core/src/array/iter.rs index b3b26040067..b91c630183d 100644 --- a/library/core/src/array/iter.rs +++ b/library/core/src/array/iter.rs @@ -104,8 +104,7 @@ impl<T, const N: usize> IntoIter<T, N> { /// /// ``` /// #![feature(array_into_iter_constructors)] - /// - /// #![feature(maybe_uninit_array_assume_init)] + /// #![feature(maybe_uninit_uninit_array_transpose)] /// #![feature(maybe_uninit_uninit_array)] /// use std::array::IntoIter; /// use std::mem::MaybeUninit; @@ -134,7 +133,7 @@ impl<T, const N: usize> IntoIter<T, N> { /// } /// /// // SAFETY: We've initialized all N items - /// unsafe { Ok(MaybeUninit::array_assume_init(buffer)) } + /// unsafe { Ok(buffer.transpose().assume_init()) } /// } /// /// let r: [_; 4] = next_chunk(&mut (10..16)).unwrap(); diff --git a/library/core/src/array/mod.rs b/library/core/src/array/mod.rs index b82bbf2267a..04dd821efde 100644 --- a/library/core/src/array/mod.rs +++ b/library/core/src/array/mod.rs @@ -912,7 +912,7 @@ where mem::forget(guard); // SAFETY: All elements of the array were populated in the loop above. - let output = unsafe { MaybeUninit::array_assume_init(array) }; + let output = unsafe { array.transpose().assume_init() }; Ok(Try::from_output(output)) } diff --git a/library/core/tests/lib.rs b/library/core/tests/lib.rs index b5c34f5df3b..b1f492381b1 100644 --- a/library/core/tests/lib.rs +++ b/library/core/tests/lib.rs @@ -49,8 +49,8 @@ #![feature(slice_from_ptr_range)] #![feature(split_as_slice)] #![feature(maybe_uninit_uninit_array)] -#![feature(maybe_uninit_array_assume_init)] #![feature(maybe_uninit_write_slice)] +#![feature(maybe_uninit_uninit_array_transpose)] #![feature(min_specialization)] #![feature(numfmt)] #![feature(step_trait)] diff --git a/library/core/tests/mem.rs b/library/core/tests/mem.rs index 6856d1a1f51..b0cc08a15f0 100644 --- a/library/core/tests/mem.rs +++ b/library/core/tests/mem.rs @@ -163,18 +163,18 @@ fn assume_init_good() { #[test] fn uninit_array_assume_init() { - let mut array: [MaybeUninit<i16>; 5] = MaybeUninit::uninit_array(); + let mut array = [MaybeUninit::<i16>::uninit(); 5]; array[0].write(3); array[1].write(1); array[2].write(4); array[3].write(1); array[4].write(5); - let array = unsafe { MaybeUninit::array_assume_init(array) }; + let array = unsafe { array.transpose().assume_init() }; assert_eq!(array, [3, 1, 4, 1, 5]); - let [] = unsafe { MaybeUninit::<!>::array_assume_init([]) }; + let [] = unsafe { [MaybeUninit::<!>::uninit(); 0].transpose().assume_init() }; } #[test] |
