diff --git a/lib.rs b/lib.rs index 208ebba..6128559 100644 --- a/lib.rs +++ b/lib.rs @@ -412,8 +412,8 @@ impl SmallVec { panic!("overflow") } unsafe { - let end_ptr = self.as_mut_ptr().offset(last_index as isize); - let value = ptr::replace(end_ptr, mem::uninitialized()); + let end_ptr = self.as_ptr().offset(last_index as isize); + let value = ptr::read(end_ptr); self.set_len(last_index); Some(value) }