about summary refs log tree commit diff
path: root/tests/ui/consts/const-eval/heap/make-global-twice.rs
blob: 0cd617cea3e6e41ab1fcdd783437c86812c7071b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Ensure that we can't call `const_make_global` twice.

#![feature(core_intrinsics)]
#![feature(const_heap)]

use std::intrinsics;

const Y: &i32 = unsafe {
    let ptr = intrinsics::const_allocate(4, 4);
    let i = ptr as *mut i32;
    *i = 20;
    intrinsics::const_make_global(ptr);
    intrinsics::const_make_global(ptr);
    //~^ error: attempting to call `const_make_global` twice on the same allocation ALLOC0
    &*i
};

fn main() {}