Re: [PATCH] rust: transmute: implement FromBytes and AsBytes for ()

From: Alice Ryhl

Date: Wed Dec 10 2025 - 20:14:32 EST


On Mon, Dec 08, 2025 at 01:15:13PM +0900, Alexandre Courbot wrote:
> This is useful when using types that may or may not be empty in generic
> code relying on these traits. It is also safe because technically a
> no-op.
>
> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
> ---
> This is going to be useful in Nova's GSP message handling, as some
> messages are empty and we need to explicitly use an empty structure for
> them.
>
> If accepted, I would like to merge it through `drm-rust-next` so Nova
> code can start using this feature quickly.
> ---
> rust/kernel/transmute.rs | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/rust/kernel/transmute.rs b/rust/kernel/transmute.rs
> index be5dbf3829e2..8d78c81e3749 100644
> --- a/rust/kernel/transmute.rs
> +++ b/rust/kernel/transmute.rs
> @@ -170,6 +170,9 @@ macro_rules! impl_frombytes {
> }
>
> impl_frombytes! {
> + // SAFETY: This type is empty and thus does not consume any data.
> + (),

This should mention that the type has no invariants.

> impl_asbytes! {
> + // SAFETY: This type is empty and thus returns an empty slice.
> + (),

Ok.

Alice