]> git.proxmox.com Git - rustc.git/blob - src/test/ui/unsafe/ranged_ints2_const.rs
New upstream version 1.48.0~beta.8+dfsg1
[rustc.git] / src / test / ui / unsafe / ranged_ints2_const.rs
1 #![feature(rustc_attrs)]
2
3 #[rustc_layout_scalar_valid_range_start(1)]
4 #[repr(transparent)]
5 pub(crate) struct NonZero<T>(pub(crate) T);
6 fn main() {
7 }
8
9 const fn foo() -> NonZero<u32> {
10 let mut x = unsafe { NonZero(1) };
11 let y = &mut x.0; //~ ERROR mutable references
12 //~^ ERROR mutation of layout constrained field is unsafe
13 unsafe { NonZero(1) }
14 }
15
16 const fn bar() -> NonZero<u32> {
17 let mut x = unsafe { NonZero(1) };
18 let y = unsafe { &mut x.0 }; //~ ERROR mutable references
19 unsafe { NonZero(1) }
20 }