diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2023-09-20 07:36:19 +1000 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2023-09-28 15:44:48 +1000 |
| commit | 51edc219906f0973dd66b4b6ff5ff0ac857a4cc6 (patch) | |
| tree | ecd362430a968dd6ac06fe5e668666b9b43c7b33 | |
| parent | 55de23ed5dff82a300cf379c9c756f82df48a987 (diff) | |
| download | rust-51edc219906f0973dd66b4b6ff5ff0ac857a4cc6.tar.gz rust-51edc219906f0973dd66b4b6ff5ff0ac857a4cc6.zip | |
Remove `unsafe` from `TypedArena::alloc_raw_slice`.
There's no good reason for it.
| -rw-r--r-- | compiler/rustc_arena/src/lib.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/rustc_arena/src/lib.rs b/compiler/rustc_arena/src/lib.rs index a8a4ad89c4f..5c183afc087 100644 --- a/compiler/rustc_arena/src/lib.rs +++ b/compiler/rustc_arena/src/lib.rs @@ -172,8 +172,8 @@ impl<T, const N: usize> IterExt<T> for std::array::IntoIter<T, N> { return &mut []; } // Move the content to the arena by copying and then forgetting it. + let start_ptr = arena.alloc_raw_slice(len); unsafe { - let start_ptr = arena.alloc_raw_slice(len); self.as_slice().as_ptr().copy_to_nonoverlapping(start_ptr, len); mem::forget(self); slice::from_raw_parts_mut(start_ptr, len) @@ -189,8 +189,8 @@ impl<T> IterExt<T> for Vec<T> { return &mut []; } // Move the content to the arena by copying and then forgetting it. + let start_ptr = arena.alloc_raw_slice(len); unsafe { - let start_ptr = arena.alloc_raw_slice(len); self.as_ptr().copy_to_nonoverlapping(start_ptr, len); self.set_len(0); slice::from_raw_parts_mut(start_ptr, len) @@ -206,8 +206,8 @@ impl<A: smallvec::Array> IterExt<A::Item> for SmallVec<A> { return &mut []; } // Move the content to the arena by copying and then forgetting it. + let start_ptr = arena.alloc_raw_slice(len); unsafe { - let start_ptr = arena.alloc_raw_slice(len); self.as_ptr().copy_to_nonoverlapping(start_ptr, len); self.set_len(0); slice::from_raw_parts_mut(start_ptr, len) @@ -251,7 +251,7 @@ impl<T> TypedArena<T> { } #[inline] - unsafe fn alloc_raw_slice(&self, len: usize) -> *mut T { + fn alloc_raw_slice(&self, len: usize) -> *mut T { assert!(mem::size_of::<T>() != 0); assert!(len != 0); |
