mirror of https://github.com/rust-lang/rust
49 lines
808 B
Rust
49 lines
808 B
Rust
//@ run-pass
|
|
// Test that we can do shifts by any integral type.
|
|
|
|
|
|
struct Panolpy {
|
|
i8: i8,
|
|
i16: i16,
|
|
i32: i32,
|
|
i64: i64,
|
|
isize: isize,
|
|
|
|
u8: u8,
|
|
u16: u16,
|
|
u32: u32,
|
|
u64: u64,
|
|
usize: usize,
|
|
}
|
|
|
|
fn foo(p: &Panolpy) {
|
|
assert_eq!(22 >> p.i8, 11);
|
|
assert_eq!(22 >> p.i16, 11);
|
|
assert_eq!(22 >> p.i32, 11);
|
|
assert_eq!(22 >> p.i64, 11);
|
|
assert_eq!(22 >> p.isize, 11);
|
|
|
|
assert_eq!(22 >> p.u8, 11);
|
|
assert_eq!(22 >> p.u16, 11);
|
|
assert_eq!(22 >> p.u32, 11);
|
|
assert_eq!(22 >> p.u64, 11);
|
|
assert_eq!(22 >> p.usize, 11);
|
|
}
|
|
|
|
fn main() {
|
|
let p = Panolpy {
|
|
i8: 1,
|
|
i16: 1,
|
|
i32: 1,
|
|
i64: 1,
|
|
isize: 1,
|
|
|
|
u8: 1,
|
|
u16: 1,
|
|
u32: 1,
|
|
u64: 1,
|
|
usize: 1,
|
|
};
|
|
foo(&p)
|
|
}
|