summaryrefslogtreecommitdiffstats
path: root/src/test/ui/consts/const-eval/heap/dealloc_intrinsic_dangling.rs
blob: b6d89a58dce7bde266d6f9b85b324fd748482f7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#![feature(core_intrinsics)]
#![feature(const_heap)]
#![feature(const_mut_refs)]

use std::intrinsics;

const _X: &'static u8 = unsafe {
    let ptr = intrinsics::const_allocate(4, 4);
    intrinsics::const_deallocate(ptr, 4, 4);
    &*ptr
    //~^ error: evaluation of constant value failed
};

const _Y: u8 = unsafe {
    let ptr = intrinsics::const_allocate(4, 4);
    let reference = &*ptr;
    intrinsics::const_deallocate(ptr, 4, 4);
    *reference
    //~^ error: evaluation of constant value failed
};

fn main() {}