rust: alloc: allow coercion from `Box<T>` to `Box<dyn U>` if T implements U
authorAlexandre Courbot <acourbot@nvidia.com>
Sat, 12 Apr 2025 06:29:13 +0000 (15:29 +0900)
committerDanilo Krummrich <dakr@kernel.org>
Tue, 22 Apr 2025 15:29:37 +0000 (17:29 +0200)
commit85f8e98dbb0135d2bc1999c6015cd374fe2c69fa
tree7ce1d6e8be9e4d97abf3e1ab957cf0c540431225
parentc3152988c047a7b6abb10d4dc5e24fafbabe8b7e
rust: alloc: allow coercion from `Box<T>` to `Box<dyn U>` if T implements U

This enables the creation of trait objects backed by a Box, similarly to
what can be done with the standard library.

Suggested-by: Benno Lossin <benno.lossin@proton.me>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Link: https://lore.kernel.org/r/20250412-box_trait_objs-v3-1-f67ced62d520@nvidia.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
rust/kernel/alloc/kbox.rs