| //@ run-pass |
| #![allow(overflowing_literals)] |
| |
| fn main() { |
| #[cfg(target_pointer_width = "32")] |
| const I: isize = -2147483648isize; |
| #[cfg(target_pointer_width = "64")] |
| const I: isize = -9223372036854775808isize; |
| assert_eq!(i32::MIN as u64, 0xffffffff80000000); |
| assert_eq!(-2147483648isize as u64, 0xffffffff80000000); |
| assert_eq!(-2147483648i32 as u64, 0xffffffff80000000); |
| assert_eq!(i64::MIN as u64, 0x8000000000000000); |
| #[cfg(target_pointer_width = "64")] |
| assert_eq!(-9223372036854775808isize as u64, 0x8000000000000000); |
| #[cfg(target_pointer_width = "32")] |
| assert_eq!(-9223372036854775808isize as u64, 0); |
| assert_eq!(-9223372036854775808i32 as u64, 0); |
| const J: usize = i32::MAX as usize; |
| const K: usize = -1i32 as u32 as usize; |
| const L: usize = i32::MIN as usize; |
| const M: usize = i64::MIN as usize; |
| match 5 { |
| J => {}, |
| K => {}, |
| L => {}, |
| M => {}, |
| _ => {} |
| } |
| match 5 { |
| I => {}, |
| _ => {} |
| } |
| } |