Re: [PATCH] rust: kunit: use crate-level mapping for `c_void`

From: Jesung Yang
Date: Tue May 27 2025 - 09:56:31 EST


Hi,

On Tue, May 27, 2025 at 9:06 PM Benno Lossin <lossin@xxxxxxxxxx> wrote:
>
> We don't need to explicitly import it, as `c_void` is present in the
> prelude since 3d5bef5d47c3 ("rust: add C FFI types to the prelude").

The base commit of my patch is f4daa80d6be7 ("rust: compile libcore with
edition 2024 for 1.87+"), which unfortunately predates the addition of
`use crate::prelude::*`. As a result, removing `use kernel::ffi::c_void`
causes the build to fail with the following error:

```
error[E0412]: cannot find type `c_void` in this scope
--> rust/kernel/kunit.rs:22:41
|
22 | &args as *const _ as *const c_void,
| ^^^^^^ not found in this scope
|
help: consider importing one of these enums
|
9 + use crate::prelude::c_void;
|
9 + use core::ffi::c_void;
|
9 + use ffi::c_void;
|

error[E0412]: cannot find type `c_void` in this scope
--> rust/kernel/kunit.rs:38:41
|
38 | &args as *const _ as *const c_void,
| ^^^^^^ not found in this scope
|
help: consider importing one of these enums
|
9 + use crate::prelude::c_void;
|
9 + use core::ffi::c_void;
|
9 + use ffi::c_void;
|

error: aborting due to 2 previous errors
```

Starting from commit c4c0574ee33b ("rust: add `kunit_tests` to the
prelude"), we do have `use crate::prelude::*;`, so the explicit import
is no longer necessary in that context.

Thanks for pointing this out!

Best regards,
Jesung