(&mut self, item: T)
| 618 | /// reasons as [`MutableBuffer::reserve`]. |
| 619 | #[inline] |
| 620 | pub fn push<T: ToByteSlice>(&mut self, item: T) { |
| 621 | let additional = std::mem::size_of::<T>(); |
| 622 | self.reserve(additional); |
| 623 | unsafe { |
| 624 | let src = item.to_byte_slice().as_ptr(); |
| 625 | let dst = self.data.as_ptr().add(self.len); |
| 626 | std::ptr::copy_nonoverlapping(src, dst, additional); |
| 627 | } |
| 628 | self.len += additional; |
| 629 | } |
| 630 | |
| 631 | /// Extends the buffer with a new item, without checking for sufficient capacity |
| 632 | /// # Safety |