| // Compiler: |
| // |
| // Run-time: |
| // status: 0 |
| |
| #![feature(const_black_box)] |
| |
| fn main() { |
| use std::hint::black_box; |
| |
| macro_rules! check { |
| ($ty:ty, $expr:expr) => {{ |
| const EXPECTED: $ty = $expr; |
| assert_eq!($expr, EXPECTED); |
| }}; |
| } |
| |
| check!(i32, (black_box(0.0f32) as i32)); |
| |
| check!(u64, (black_box(f32::NAN) as u64)); |
| check!(u128, (black_box(f32::NAN) as u128)); |
| |
| check!(i64, (black_box(f64::NAN) as i64)); |
| check!(u64, (black_box(f64::NAN) as u64)); |
| |
| check!(i16, (black_box(f32::MIN) as i16)); |
| check!(i16, (black_box(f32::MAX) as i16)); |
| } |