This commit is contained in:
Ralf Jung 2019-08-30 15:04:12 +02:00
parent 38f6b96aae
commit bb3474994b
2 changed files with 29 additions and 0 deletions

View File

@ -0,0 +1,13 @@
#![feature(const_transmute, const_raw_ptr_deref)]
use std::{mem, usize};
// Make sure we error with the right kind of error on a too large slice.
const TEST: () = { unsafe { //~ NOTE
let slice: *const [u8] = mem::transmute((1usize, usize::MAX));
let _val = &*slice; //~ ERROR: any use of this value will cause an error
//~^ NOTE: total size is bigger than largest supported object
//~^^ on by default
} };
fn main() {}

View File

@ -0,0 +1,16 @@
error: any use of this value will cause an error
--> $DIR/dangling.rs:8:16
|
LL | / const TEST: () = { unsafe {
LL | | let slice: *const [u8] = mem::transmute((1usize, usize::MAX));
LL | | let _val = &*slice;
| | ^^^^^^^ invalid slice: total size is bigger than largest supported object
LL | |
LL | |
LL | | } };
| |____-
|
= note: `#[deny(const_err)]` on by default
error: aborting due to previous error