Skip to content

Commit ddc3736

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 76aa8a8 commit ddc3736

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
@@ -192,6 +192,19 @@ where
192192
self.len
193193
}
194194

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

0 commit comments

Comments
 (0)