]> git.lizzy.rs Git - rust.git/blob - src/test/ui/const-ptr/out_of_bounds_read.rs
Permit `#[deprecated]` in stdlib
[rust.git] / src / test / ui / const-ptr / out_of_bounds_read.rs
1 // error-pattern: evaluation of constant value failed
2
3 #![feature(const_ptr_read)]
4 #![feature(const_ptr_offset)]
5
6 fn main() {
7     use std::ptr;
8
9     const DATA: [u32; 1] = [42];
10
11     const PAST_END_PTR: *const u32 = unsafe { DATA.as_ptr().add(1) };
12
13     const _READ: u32 = unsafe { ptr::read(PAST_END_PTR) };
14     const _CONST_READ: u32 = unsafe { PAST_END_PTR.read() };
15     const _MUT_READ: u32 = unsafe { (PAST_END_PTR as *mut u32).read() };
16 }