2021-03-31 08:09:16 +00:00
|
|
|
//@ stderr-per-bitwidth
|
2018-07-02 17:00:07 +00:00
|
|
|
|
2018-05-24 09:03:33 +00:00
|
|
|
fn main() {
|
2018-05-25 13:13:54 +00:00
|
|
|
let n: Int = 40;
|
|
|
|
match n {
|
2025-05-28 10:29:08 +00:00
|
|
|
0..=10 => {}
|
|
|
|
10..=BAR => {} // ok, `const` error already emitted
|
|
|
|
_ => {}
|
2018-05-24 09:03:33 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-08-30 07:35:02 +00:00
|
|
|
#[repr(C)]
|
2018-05-24 09:03:33 +00:00
|
|
|
union Foo {
|
|
|
|
f: Int,
|
|
|
|
r: &'static u32,
|
|
|
|
}
|
|
|
|
|
2025-05-28 10:29:08 +00:00
|
|
|
#[cfg(target_pointer_width = "64")]
|
2018-05-24 09:03:33 +00:00
|
|
|
type Int = u64;
|
|
|
|
|
2025-05-28 10:29:08 +00:00
|
|
|
#[cfg(target_pointer_width = "32")]
|
2018-05-24 09:03:33 +00:00
|
|
|
type Int = u32;
|
|
|
|
|
2022-06-03 00:30:29 +00:00
|
|
|
const BAR: Int = unsafe { Foo { r: &42 }.f };
|
2025-05-28 10:29:08 +00:00
|
|
|
//~^ ERROR unable to turn pointer into integer
|