29 lines
613 B
Rust
29 lines
613 B
Rust
![]() |
// 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));
|
||
|
}
|