Skip to content

Commit bbda769

Browse files
committed
rust: alloc: vec: Add dropped set_len() for ::drain()
To keep in sync with Rust's std::Vec::drain() implementation keep set_len() around. Signed-off-by: Janne Grunau <j@jannau.net>
1 parent 3507c32 commit bbda769

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

rust/kernel/alloc/kvec.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,19 @@ where
189189
self.len
190190
}
191191

192+
/// Forcefully sets `self.len` to `new_len`.
193+
///
194+
/// # Safety
195+
///
196+
/// - `new_len` must be less than or equal to [`Self::capacity`].
197+
/// - If `new_len` is greater than `self.len`, all elements within the interval
198+
/// [`self.len`,`new_len`) must be initialized.
199+
#[inline]
200+
pub unsafe fn set_len(&mut self, new_len: usize) {
201+
debug_assert!(new_len <= self.capacity());
202+
self.len = new_len;
203+
}
204+
192205
/// Increments `self.len` by `additional`.
193206
///
194207
/// # Safety

0 commit comments

Comments
 (0)