//@ run-pass #![allow(dead_code)] #![allow(overflowing_literals)] use std::mem::size_of; enum Ei8 { Ai8 = -1, Bi8 = 0 } enum Eu8 { Au8 = 0, Bu8 = 0x80 } enum Ei16 { Ai16 = -1, Bi16 = 0x80 } enum Eu16 { Au16 = 0, Bu16 = 0x8000 } enum Ei32 { Ai32 = -1, Bi32 = 0x8000 } enum Eu32 { Au32 = 0, Bu32 = 0x8000_0000 } enum Ei64 { Ai64 = -1, Bi64 = 0x8000_0000 } pub fn main() { assert_eq!(size_of::(), 1); assert_eq!(size_of::(), 1); assert_eq!(size_of::(), 2); assert_eq!(size_of::(), 2); assert_eq!(size_of::(), 4); assert_eq!(size_of::(), 4); #[cfg(target_pointer_width = "64")] assert_eq!(size_of::(), 8); #[cfg(target_pointer_width = "32")] assert_eq!(size_of::(), 4); }