]> git.lizzy.rs Git - rust.git/blob - src/test/ui/consts/const-eval/heap/alloc_intrinsic_nontransient.rs
Stabilize File::options()
[rust.git] / src / test / ui / consts / const-eval / heap / alloc_intrinsic_nontransient.rs
1 // run-pass
2 #![feature(core_intrinsics)]
3 #![feature(const_heap)]
4 #![feature(const_raw_ptr_deref)]
5 #![feature(const_mut_refs)]
6 use std::intrinsics;
7
8 const FOO: &i32 = foo();
9
10 const fn foo() -> &'static i32 {
11     let t = unsafe {
12         let i = intrinsics::const_allocate(4, 4) as * mut i32;
13         *i = 20;
14         i
15     };
16     unsafe { &*t }
17 }
18 fn main() {
19     assert_eq!(*FOO, 20)
20 }