]> git.lizzy.rs Git - rust.git/blob - src/test/ui/numbers-arithmetic/shift-various-types.rs
Auto merge of #101893 - oli-obk:lift_derive, r=lcnr
[rust.git] / src / test / ui / numbers-arithmetic / shift-various-types.rs
1 // run-pass
2 // Test that we can do shifts by any integral type.
3
4
5 struct Panolpy {
6     i8: i8,
7     i16: i16,
8     i32: i32,
9     i64: i64,
10     isize: isize,
11
12     u8: u8,
13     u16: u16,
14     u32: u32,
15     u64: u64,
16     usize: usize,
17 }
18
19 fn foo(p: &Panolpy) {
20     assert_eq!(22 >> p.i8, 11);
21     assert_eq!(22 >> p.i16, 11);
22     assert_eq!(22 >> p.i32, 11);
23     assert_eq!(22 >> p.i64, 11);
24     assert_eq!(22 >> p.isize, 11);
25
26     assert_eq!(22 >> p.u8, 11);
27     assert_eq!(22 >> p.u16, 11);
28     assert_eq!(22 >> p.u32, 11);
29     assert_eq!(22 >> p.u64, 11);
30     assert_eq!(22 >> p.usize, 11);
31 }
32
33 fn main() {
34     let p = Panolpy {
35         i8: 1,
36         i16: 1,
37         i32: 1,
38         i64: 1,
39         isize: 1,
40
41         u8: 1,
42         u16: 1,
43         u32: 1,
44         u64: 1,
45         usize: 1,
46     };
47     foo(&p)
48 }