]>
Commit | Line | Data |
---|---|---|
b7449926 XL |
1 | // run-pass |
2 | #![allow(overflowing_literals)] | |
3 | ||
54a0048b SL |
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; | |
fc512014 | 11 | assert_eq!(i32::MIN as u64, 0xffffffff80000000); |
54a0048b | 12 | assert_eq!(-2147483648isize as u64, 0xffffffff80000000); |
0531ce1d | 13 | assert_eq!(-2147483648i32 as u64, 0xffffffff80000000); |
fc512014 | 14 | assert_eq!(i64::MIN as u64, 0x8000000000000000); |
54a0048b SL |
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); | |
0531ce1d | 19 | assert_eq!(-9223372036854775808i32 as u64, 0); |
fc512014 | 20 | const J: usize = i32::MAX as usize; |
54a0048b | 21 | const K: usize = -1i32 as u32 as usize; |
fc512014 XL |
22 | const L: usize = i32::MIN as usize; |
23 | const M: usize = i64::MIN as usize; | |
54a0048b SL |
24 | match 5 { |
25 | J => {}, | |
26 | K => {}, | |
27 | L => {}, | |
28 | M => {}, | |
29 | _ => {} | |
30 | } | |
31 | match 5 { | |
32 | I => {}, | |
33 | _ => {} | |
34 | } | |
35 | } |