fix aliasing issue in binary_heap
This commit is contained in:
parent
9f630af930
commit
607076e209
@ -1036,8 +1036,9 @@ unsafe fn move_to(&mut self, index: usize) {
|
||||
debug_assert!(index != self.pos);
|
||||
debug_assert!(index < self.data.len());
|
||||
unsafe {
|
||||
let index_ptr: *const _ = self.data.get_unchecked(index);
|
||||
let hole_ptr = self.data.get_unchecked_mut(self.pos);
|
||||
let ptr = self.data.as_mut_ptr();
|
||||
let index_ptr: *const _ = ptr.add(index);
|
||||
let hole_ptr = ptr.add(self.pos);
|
||||
ptr::copy_nonoverlapping(index_ptr, hole_ptr, 1);
|
||||
}
|
||||
self.pos = index;
|
||||
|
Loading…
Reference in New Issue
Block a user