rust/tests/ui/consts/const-eval/ref_to_int_match.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

26 lines
436 B
Rust
Raw Permalink Normal View History

//@ stderr-per-bitwidth
fn main() {
2018-05-25 13:13:54 +00:00
let n: Int = 40;
match n {
0..=10 => {}
10..=BAR => {} // ok, `const` error already emitted
_ => {}
}
}
#[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 unable to turn pointer into integer