#![feature(repr128)] | |
// Use .to_le() to ensure that the bytes are in the same order on both little- and big-endian | |
// platforms. | |
#[repr(u128)] | |
pub enum U128Enum { | |
U128A = 0_u128.to_le(), | |
U128B = 1_u128.to_le(), | |
U128C = (u64::MAX as u128 + 1).to_le(), | |
U128D = u128::MAX.to_le(), | |
} | |
#[repr(i128)] | |
pub enum I128Enum { | |
I128A = 0_i128.to_le(), | |
I128B = (-1_i128).to_le(), | |
I128C = i128::MIN.to_le(), | |
I128D = i128::MAX.to_le(), | |
} | |
pub fn f(_: U128Enum, _: I128Enum) {} | |
fn main() { | |
f(U128Enum::U128A, I128Enum::I128A); | |
} |