#[repr(C)] pub struct Foo { something: *const i32, phantom: std::marker::PhantomData, } #[repr(u8)] pub enum Bar { Min(Foo), Max(Foo), Other, } #[no_mangle] pub extern "C" fn root(b: Bar) {}