Slightly refactor VecDeque implementation

This commit is contained in:
MaloJaffre
2018-08-22 10:10:07 +02:00
parent 57e13babe9
commit 6ce76acae4
+3 -3
View File
@@ -1024,7 +1024,7 @@ pub fn drain<R>(&mut self, range: R) -> Drain<T>
iter: Iter {
tail: drain_tail,
head: drain_head,
ring: unsafe { self.buffer_as_mut_slice() },
ring: unsafe { self.buffer_as_slice() },
},
}
}
@@ -2593,8 +2593,8 @@ fn from(other: VecDeque<T>) -> Self {
let mut right_offset = 0;
for i in left_edge..right_edge {
right_offset = (i - left_edge) % (cap - right_edge);
let src: isize = (right_edge + right_offset) as isize;
ptr::swap(buf.add(i), buf.offset(src));
let src = right_edge + right_offset;
ptr::swap(buf.add(i), buf.add(src));
}
let n_ops = right_edge - left_edge;
left_edge += n_ops;