diff options
Diffstat (limited to 'src/test/ui/cast/fat-ptr-cast.rs')
-rw-r--r-- | src/test/ui/cast/fat-ptr-cast.rs | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/src/test/ui/cast/fat-ptr-cast.rs b/src/test/ui/cast/fat-ptr-cast.rs deleted file mode 100644 index b5276dc61..000000000 --- a/src/test/ui/cast/fat-ptr-cast.rs +++ /dev/null @@ -1,33 +0,0 @@ -trait Trait {} - -// Make sure casts between thin-pointer <-> fat pointer obey RFC401 -fn main() { - let a: &[i32] = &[1, 2, 3]; - let b: Box<[i32]> = Box::new([1, 2, 3]); - let p = a as *const [i32]; - let q = a.as_ptr(); - - a as usize; //~ ERROR casting - a as isize; //~ ERROR casting - a as i16; //~ ERROR casting `&[i32]` as `i16` is invalid - a as u32; //~ ERROR casting `&[i32]` as `u32` is invalid - b as usize; //~ ERROR non-primitive cast - p as usize; - //~^ ERROR casting - - // #22955 - q as *const [i32]; //~ ERROR cannot cast - - // #21397 - let t: *mut (dyn Trait + 'static) = 0 as *mut _; - //~^ ERROR cannot cast `usize` to a pointer that is wide - let mut fail: *const str = 0 as *const str; - //~^ ERROR cannot cast `usize` to a pointer that is wide - let mut fail2: *const str = 0isize as *const str; - //~^ ERROR cannot cast `isize` to a pointer that is wide -} - -fn foo<T: ?Sized>() { - let s = 0 as *const T; - //~^ ERROR cannot cast `usize` to a pointer that may be wide -} |