Skip to content

Commit a039b59

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 a37b5f9 commit a039b59

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
@@ -188,6 +188,19 @@ where
188188
self.len
189189
}
190190

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

0 commit comments

Comments
 (0)