diff --git a/rust-version b/rust-version index dd746e9e2a..8788a013ac 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -e1ec3260d79497080ca86540562d410ba67d2a95 +77972d2d0134fb597249b3b64dcf9510a790c34e diff --git a/tests/compile-fail/validity/ref_to_uninhabited1.rs b/tests/compile-fail/validity/ref_to_uninhabited1.rs new file mode 100644 index 0000000000..51a3279ffa --- /dev/null +++ b/tests/compile-fail/validity/ref_to_uninhabited1.rs @@ -0,0 +1,7 @@ +#![feature(never_type)] +use std::mem::{transmute, forget}; + +fn main() { unsafe { + let x: Box = transmute(&mut 42); //~ERROR encountered a box pointing to uninhabited type ! + forget(x); +} } diff --git a/tests/compile-fail/validity/ref_to_uninhabited2.rs b/tests/compile-fail/validity/ref_to_uninhabited2.rs new file mode 100644 index 0000000000..3778719dc5 --- /dev/null +++ b/tests/compile-fail/validity/ref_to_uninhabited2.rs @@ -0,0 +1,7 @@ +use std::mem::transmute; + +enum Void {} + +fn main() { unsafe { + let _x: &(i32, Void) = transmute(&42); //~ERROR encountered a reference pointing to uninhabited type (i32, Void) +} }