Skip to main content

enum_argument

Function enum_argument 

Source
pub unsafe fn enum_argument(metadata: *const c_void, tag: u32) -> u64
Expand description

A no-payload enum’s case, ready to pass in a register.

Small enums are loadable: SwiftUI.Visibility is one byte and travels in x0, not by pointer. Handing the callee a pointer instead leaves it reading the address as a case number, which SwiftUI renders without complaint and dump shows as Visibility.() — a case that does not exist.

§Safety

metadata must describe an enum of at most eight bytes.