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

Danilo Krummrich
2024-08-01T00:08:04Z

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@kernel.org>
---
rust/kernel/types.rs | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/rust/kernel/types.rs b/rust/kernel/types.rs
index 2aadf715b336..809653b9d945 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,14 +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 {
@@ -88,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