Skip to content

Commit 0b72c94

Browse files
committed
AVec::set_len: add debug_assert! verifying new_len is in bounds.
1 parent ebcf839 commit 0b72c94

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/vec/avec.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ impl<T, A: Free> AVec<T, A> {
5858
/// ### Safety
5959
/// * `new_len` must be less than or equal to <code>[capacity](Self::capacity)()</code>.
6060
/// * If <code>new_len &gt; [avec](Self).[len](Self::len)()</code>, the elements between <code>[avec](Self).[len](Self::len)() .. new_len</code> must have been initialized.
61-
#[inline(always)] pub unsafe fn set_len(&mut self, new_len: usize) { self.len = new_len; }
61+
#[inline(always)] pub unsafe fn set_len(&mut self, new_len: usize) { debug_assert!(new_len <= self.capacity(), "undefined behavior: `new_len` exceeds `capacity()`"); self.len = new_len; }
6262

6363
/// Return a slice to the uninitialized elements between <code>[avec](Self).[len](Self::len)() .. [avec](Self).[capacity](Self::capacity)()</code>.
6464
#[inline(always)] pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>] { self.data.get_mut(self.len..).unwrap_or(&mut []) }

0 commit comments

Comments
 (0)