// DESIGN.md item 1: Nim's `shr` on a signed integer is arithmetic, like Rust's // `>>`. This is the operation base16ct's constant-time decoder depends on. fn main() { let x: i16 = -256; println!("{}", x >> 8); println!("{}", (-1i32) >> 16); let y: u16 = 65280; println!("{}", y >> 8); println!("{}", 1i32 << 10); }