diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/statics/read_before_init.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/ui/statics/read_before_init.rs b/tests/ui/statics/read_before_init.rs new file mode 100644 index 00000000000..02af783063a --- /dev/null +++ b/tests/ui/statics/read_before_init.rs @@ -0,0 +1,15 @@ +//@ check-pass + +use std::mem::MaybeUninit; + +pub static X: (i32, MaybeUninit<i32>) = (1, foo(&X.0)); + +const fn foo(x: &i32) -> MaybeUninit<i32> { + let mut temp = MaybeUninit::<i32>::uninit(); + unsafe { + std::ptr::copy(x, temp.as_mut_ptr(), 1); + } + temp +} + +fn main() {} |
