// Exact widths must survive the trip. A transpiler that widened these would // still print the right answer here, so the wrapping cases below are the // ones that actually discriminate. fn main() { let a: i8 = -128; let b: u8 = 255; let c: i16 = -32768; let d: u16 = 65535; let e: i32 = -2147483648; let f: u32 = 4294967295; let g: i64 = -9223372036854775808; let h: u64 = 18446744073709551615; println!("{} {} {} {} {} {} {} {}", a, b, c, d, e, f, g, h); }