On Wed, Jun 25, 2025 at 11:07 PM Alexandre Courbot <[email protected]> wrote: > > If you add an associated type, I guess this means the derive macro > should have a helper attribute to specify it?
The current implementation tries to detect the enum's representation (e.g., `#[repr(u8)]`) and falls back to `isize` if nothing is provided, since it's the default [1]. However, when `#[repr(C)]` is used, the internal representation is not controlled on the Rust side. To quote the reference [2]: For field-less enums, the C representation has the size and alignment of the default enum size and alignment for the target platform's C ABI. Given this, it would definitely help with determinism if users provided an explicit attribute. Being explicit also often improves clarity and makes the intent more obvious. [1]: https://doc.rust-lang.org/reference/items/enumerations.html#r-items.enum.discriminant.repr-rust [2]: https://doc.rust-lang.org/reference/type-layout.html?highlight=repr#r-layout.repr.c.enum Best regards, Jesung
