[PATCH v2 13/23] rust: alloc: import kernel `Box` type in types.rs

From: Danilo Krummrich
Date: Tue Jul 23 2024 - 14:14:56 EST


Now that we removed `BoxExt` and the corresponding includes in
types.rs, add the new kernel `Box` type instead.

Signed-off-by: Danilo Krummrich <dakr@xxxxxxxxxx>
---
rust/kernel/types.rs | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/rust/kernel/types.rs b/rust/kernel/types.rs
index d67b37a5edb8..ee0063a20d89 100644
--- a/rust/kernel/types.rs
+++ b/rust/kernel/types.rs
@@ -2,7 +2,7 @@

//! Kernel types.

-use crate::alloc::Allocator;
+use crate::alloc::{Allocator, Box};
use crate::init::{self, PinInit};
use core::{
cell::UnsafeCell,
@@ -67,15 +67,14 @@ unsafe fn try_from_foreign(ptr: *const core::ffi::c_void) -> Option<Self> {
}
}

-
-impl<T: 'static, A> ForeignOwnable for crate::alloc::Box<T, A>
+impl<T: 'static, A> ForeignOwnable for Box<T, A>
where
A: Allocator,
{
type Borrowed<'a> = &'a T;

fn into_foreign(self) -> *const core::ffi::c_void {
- crate::alloc::Box::into_raw(self) as _
+ Box::into_raw(self) as _
}

unsafe fn borrow<'a>(ptr: *const core::ffi::c_void) -> &'a T {
@@ -89,7 +88,7 @@ unsafe fn borrow<'a>(ptr: *const core::ffi::c_void) -> &'a T {
unsafe fn from_foreign(ptr: *const core::ffi::c_void) -> Self {
// SAFETY: The safety requirements of this function ensure that `ptr` comes from a previous
// call to `Self::into_foreign`.
- unsafe { crate::alloc::Box::from_raw(ptr as _) }
+ unsafe { Box::from_raw(ptr as _) }
}
}

--
2.45.2