summaryrefslogtreecommitdiffstats
path: root/src/test/ui/cast/fat-ptr-cast.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/cast/fat-ptr-cast.rs')
-rw-r--r--src/test/ui/cast/fat-ptr-cast.rs33
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
-}