Re: [PATCH v4 6/6] rust: bitfield: Use 'as' operator for setter type conversion

From: Miguel Ojeda

Date: Mon Sep 29 2025 - 09:59:45 EST


On Sat, Sep 20, 2025 at 8:23 PM Joel Fernandes <joelagnelf@xxxxxxxxxx> wrote:
>
> The bitfield macro's setter currently uses the From trait for type
> conversion, which is overly restrictive and prevents use cases such as
> narrowing conversions (e.g., u32 storage size to u8 field size) which
> aren't supported by From.

Being restrictive is a good thing -- it would be nice to know more
context about this change, like Alexandre points out.

In particular, the line:

.set_nibble(0x12345678_u32) // truncated to 0x8

sounds fairly alarming, and not what we usually want. Why cannot the
caller cast on their side, if they really want that?

We avoid `as` for similar reasons and nowadays enable some Clippy
warnings to prevent its use where not needed.

(By the way, please follow our usual coding conventions for comments.)

Thanks!

Cheers,
Miguel