rust: vec: impl Default for Vec with any allocator
authorAlice Ryhl <aliceryhl@google.com>
Tue, 10 Jun 2025 10:31:56 +0000 (10:31 +0000)
committerDanilo Krummrich <dakr@kernel.org>
Wed, 11 Jun 2025 14:35:10 +0000 (16:35 +0200)
commit47d8101924b58e03bfd065c972172e6b69331397
treed8ea2a1c549e0ab1760d4713a23306c85ab9b267
parent19272b37aa4f83ca52bdf9c16d5d81bdd1354494
rust: vec: impl Default for Vec with any allocator

The implementation of Default is restricted to only work with kmalloc
vectors for no good reason. This means I have to use

mem::replace(&mut my_vec, KVVec::new())

in Rust Binder instead of `mem::take(&mut my_vec)`. Thus, expand the
impl of Default to work with any allocator including kvmalloc.

Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Link: https://lore.kernel.org/r/20250610-vec-default-v1-1-7bb2c97d75a0@google.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
rust/kernel/alloc/kvec.rs