== Why is this an issue? Using `repr(isize/usize)` for C-like enumerations with values that don't fit into an `i32` can lead to truncated variant values on 32-bit architectures, potentially causing unexpected behavior. === Code examples ==== Noncompliant code example [source,rust,diff-id=1,diff-type=noncompliant] ---- #[repr(usize)] enum NonPortable { X = 0x1_0000_0000, // Noncompliant Y = 0, } ---- ==== Compliant solution [source,rust,diff-id=1,diff-type=compliant] ---- #[repr(u64)] enum Portable { X = 0x1_0000_0000, // Compliant Y = 0, } ---- == Resources === Documentation * Clippy Lints - https://rust-lang.github.io/rust-clippy/master/index.html#enum_clike_unportable_variant