]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rust: alloc: implement `Borrow` and `BorrowMut` for `Vec`
authorAlexandre Courbot <acourbot@nvidia.com>
Mon, 16 Jun 2025 03:34:05 +0000 (12:34 +0900)
committerDanilo Krummrich <dakr@kernel.org>
Wed, 18 Jun 2025 21:09:21 +0000 (23:09 +0200)
commitc09a8ac1cd560c8f944611045841fed99790116b
tree71e3f83dabe003e001f0f89ac22cb5b5e91f476f
parent47d8101924b58e03bfd065c972172e6b69331397
rust: alloc: implement `Borrow` and `BorrowMut` for `Vec`

Implement `Borrow<[T]>` and `BorrowMut<[T]>` for `Vec<T>`. This allows
`Vec<T>` to be used in generic APIs asking for types implementing those
traits. `[T; N]` and `&mut [T]` also implement those traits allowing
users to use either owned, borrowed and heap-owned values.

The implementation leverages `as_slice` and `as_mut_slice`.

Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Link: https://lore.kernel.org/r/20250616-borrow_impls-v4-1-36f9beb3fe6a@nvidia.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
rust/kernel/alloc/kvec.rs