rust/src/test/ui/consts/const-eval/ref_to_int_match.rs

26 lines
525 B
Rust
Raw Normal View History

#![feature(const_fn_union)]
fn main() {
2018-05-25 08:13:54 -05:00
let n: Int = 40;
match n {
0..=10 => {},
10..=BAR => {}, //~ ERROR could not evaluate constant pattern
2020-01-08 11:02:10 -06:00
//~| ERROR could not evaluate constant pattern
_ => {},
}
}
#[repr(C)]
union Foo {
f: Int,
r: &'static u32,
}
#[cfg(target_pointer_width="64")]
type Int = u64;
#[cfg(target_pointer_width="32")]
type Int = u32;
const BAR: Int = unsafe { Foo { r: &42 }.f }; //~ ERROR it is undefined behavior to use this value