We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent fc12fb1 commit 79f4132Copy full SHA for 79f4132
src/lib.rs
@@ -753,13 +753,15 @@ impl<A: Array> SmallVec<A> {
753
#[inline]
754
pub fn push(&mut self, value: A::Item) {
755
unsafe {
756
- let (_, &mut len, cap) = self.triple_mut();
757
- if len == cap {
+ let (mut ptr, mut len, cap) = self.triple_mut();
+ if *len == cap {
758
self.reserve(1);
759
+ let &mut (heap_ptr, ref mut heap_len) = self.data.heap_mut();
760
+ ptr = heap_ptr;
761
+ len = heap_len;
762
}
- let (ptr, len_ptr, _) = self.triple_mut();
- *len_ptr = len + 1;
- ptr::write(ptr.add(len), value);
763
+ ptr::write(ptr.add(*len), value);
764
+ *len += 1;
765
766
767
0 commit comments