]> git.lizzy.rs Git - rust.git/blob - src/test/ui/consts/const-negation.rs
Auto merge of #81507 - weiznich:add_diesel_to_cargo_test, r=Mark-Simulacrum
[rust.git] / src / test / ui / consts / const-negation.rs
1 // run-pass
2 #![allow(overflowing_literals)]
3
4 #[deny(const_err)]
5
6 fn main() {
7     #[cfg(target_pointer_width = "32")]
8     const I: isize = -2147483648isize;
9     #[cfg(target_pointer_width = "64")]
10     const I: isize = -9223372036854775808isize;
11     assert_eq!(i32::MIN as u64, 0xffffffff80000000);
12     assert_eq!(-2147483648isize as u64, 0xffffffff80000000);
13     assert_eq!(-2147483648i32 as u64, 0xffffffff80000000);
14     assert_eq!(i64::MIN as u64, 0x8000000000000000);
15     #[cfg(target_pointer_width = "64")]
16     assert_eq!(-9223372036854775808isize as u64, 0x8000000000000000);
17     #[cfg(target_pointer_width = "32")]
18     assert_eq!(-9223372036854775808isize as u64, 0);
19     assert_eq!(-9223372036854775808i32 as u64, 0);
20     const J: usize = i32::MAX as usize;
21     const K: usize = -1i32 as u32 as usize;
22     const L: usize = i32::MIN as usize;
23     const M: usize = i64::MIN as usize;
24     match 5 {
25         J => {},
26         K => {},
27         L => {},
28         M => {},
29         _ => {}
30     }
31     match 5 {
32         I => {},
33         _ => {}
34     }
35 }