Skip to content

Commit 79f4132

Browse files
committed
Remove extraneous branch from push
1 parent fc12fb1 commit 79f4132

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/lib.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -753,13 +753,15 @@ impl<A: Array> SmallVec<A> {
753753
#[inline]
754754
pub fn push(&mut self, value: A::Item) {
755755
unsafe {
756-
let (_, &mut len, cap) = self.triple_mut();
757-
if len == cap {
756+
let (mut ptr, mut len, cap) = self.triple_mut();
757+
if *len == cap {
758758
self.reserve(1);
759+
let &mut (heap_ptr, ref mut heap_len) = self.data.heap_mut();
760+
ptr = heap_ptr;
761+
len = heap_len;
759762
}
760-
let (ptr, len_ptr, _) = self.triple_mut();
761-
*len_ptr = len + 1;
762-
ptr::write(ptr.add(len), value);
763+
ptr::write(ptr.add(*len), value);
764+
*len += 1;
763765
}
764766
}
765767

0 commit comments

Comments
 (0)