fix Vec::extend invalidating unrelated pointers
This commit is contained in:
parent
8926bb497d
commit
6556549fa6
|
@ -2122,8 +2122,9 @@ where
|
|||
self.reserve(slice.len());
|
||||
unsafe {
|
||||
let len = self.len();
|
||||
let dst_slice = slice::from_raw_parts_mut(self.as_mut_ptr().add(len), slice.len());
|
||||
dst_slice.copy_from_slice(slice);
|
||||
self.set_len(len + slice.len());
|
||||
self.get_unchecked_mut(len..).copy_from_slice(slice);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue