Auto merge of #75136 - JohnTitor:unsizing-casts-non-null, r=oli-obk

Forbid non-derefable types explicitly in unsizing casts

Fixes #75118
r? @oli-obk
This commit is contained in:
bors 2020-08-04 19:37:01 +00:00
commit f9d422ea78
3 changed files with 31 additions and 1 deletions

View file

@ -0,0 +1,10 @@
// Regression test for #75118.
use std::ptr::NonNull;
pub const fn dangling_slice<T>() -> NonNull<[T]> {
NonNull::<[T; 0]>::dangling()
//~^ ERROR: unsizing casts are only allowed for references right now
}
fn main() {}

View file

@ -0,0 +1,12 @@
error[E0723]: unsizing casts are only allowed for references right now
--> $DIR/unsizing-cast-non-null.rs:6:5
|
LL | NonNull::<[T; 0]>::dangling()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #57563 <https://github.com/rust-lang/rust/issues/57563> for more information
= help: add `#![feature(const_fn)]` to the crate attributes to enable
error: aborting due to previous error
For more information about this error, try `rustc --explain E0723`.