1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
// run-pass #![allow(dead_code)] #[repr(u8)] #[allow(dead_code)] enum ValueType { DOUBLE = 0x00, INT32 = 0x01, } #[repr(u32)] enum ValueTag { INT32 = 0x1FFF0u32 | (ValueType::INT32 as u32), X, } #[repr(u64)] enum ValueShiftedTag { INT32 = ValueTag::INT32 as u64, X, } fn main() { println!("{}", ValueTag::INT32 as u32); }