clean tests/ui/transmute.rs

Cleaning the empty lines for clarity.
This commit is contained in:
Luis de Bethencourt 2017-05-11 15:55:55 +01:00
parent 24324f84d8
commit 81ee7f752e
5 changed files with 79 additions and 138 deletions

View File

@ -21,67 +21,36 @@ fn my_vec() -> MyVec<i32> {
unsafe fn _generic<'a, T, U: 'a>(t: &'a T) {
let _: &'a T = core::intrinsics::transmute(t);
let _: &'a U = core::intrinsics::transmute(t);
let _: *const T = core::intrinsics::transmute(t);
let _: *mut T = core::intrinsics::transmute(t);
let _: *const U = core::intrinsics::transmute(t);
}
#[deny(transmute_ptr_to_ref)]
unsafe fn _ptr_to_ref<T, U>(p: *const T, m: *mut T, o: *const U, om: *mut U) {
let _: &T = std::mem::transmute(p);
let _: &T = &*p;
let _: &mut T = std::mem::transmute(m);
let _: &mut T = &mut *m;
let _: &T = std::mem::transmute(m);
let _: &T = &*m;
let _: &mut T = std::mem::transmute(p as *mut T);
let _ = &mut *(p as *mut T);
let _: &T = std::mem::transmute(o);
let _: &T = &*(o as *const T);
let _: &mut T = std::mem::transmute(om);
let _: &mut T = &mut *(om as *mut T);
let _: &T = std::mem::transmute(om);
let _: &T = &*(om as *const T);
}
@ -94,20 +63,11 @@ fn issue1231() {
let raw = 42 as *const i32;
let _: &Foo<u8> = unsafe { std::mem::transmute::<_, &Foo<_>>(raw) };
let _: &Foo<&u8> = unsafe { std::mem::transmute::<_, &Foo<&_>>(raw) };
type Bar<'a> = &'a u8;
let raw = 42 as *const i32;
unsafe { std::mem::transmute::<_, Bar>(raw) };
}
#[deny(useless_transmute)]
@ -115,19 +75,14 @@ fn useless() {
unsafe {
let _: Vec<i32> = core::intrinsics::transmute(my_vec());
let _: Vec<i32> = core::mem::transmute(my_vec());
let _: Vec<i32> = std::intrinsics::transmute(my_vec());
let _: Vec<i32> = std::mem::transmute(my_vec());
let _: Vec<i32> = my_transmute(my_vec());
let _: Vec<u32> = core::intrinsics::transmute(my_vec());
let _: Vec<u32> = core::mem::transmute(my_vec());
let _: Vec<u32> = std::intrinsics::transmute(my_vec());
@ -136,14 +91,10 @@ fn useless() {
let _: *const usize = std::mem::transmute(5_isize);
let _ = 5_isize as *const usize;
let _: *const usize = std::mem::transmute(1+1usize);
let _ = (1+1_usize) as *const usize;
}
}
@ -159,15 +110,11 @@ fn crosspointer() {
unsafe {
let _: Usize = core::intrinsics::transmute(int_const_ptr);
let _: Usize = core::intrinsics::transmute(int_mut_ptr);
let _: *const Usize = core::intrinsics::transmute(my_int());
let _: *mut Usize = core::intrinsics::transmute(my_int());
}
}

View File

@ -11,171 +11,171 @@ note: lint level defined here
| ^^^^^^^^^^^^^^^^^
error: transmute from a reference to a pointer
--> $DIR/transmute.rs:27:23
--> $DIR/transmute.rs:26:23
|
27 | let _: *const T = core::intrinsics::transmute(t);
26 | let _: *const T = core::intrinsics::transmute(t);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `t as *const T`
error: transmute from a reference to a pointer
--> $DIR/transmute.rs:32:21
--> $DIR/transmute.rs:28:21
|
32 | let _: *mut T = core::intrinsics::transmute(t);
28 | let _: *mut T = core::intrinsics::transmute(t);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `t as *const T as *mut T`
error: transmute from a reference to a pointer
--> $DIR/transmute.rs:37:23
--> $DIR/transmute.rs:30:23
|
37 | let _: *const U = core::intrinsics::transmute(t);
30 | let _: *const U = core::intrinsics::transmute(t);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `t as *const T as *const U`
error: transmute from a pointer type (`*const T`) to a reference type (`&T`)
--> $DIR/transmute.rs:45:17
--> $DIR/transmute.rs:35:17
|
45 | let _: &T = std::mem::transmute(p);
35 | let _: &T = std::mem::transmute(p);
| ^^^^^^^^^^^^^^^^^^^^^^ help: try `&*p`
|
note: lint level defined here
--> $DIR/transmute.rs:43:8
--> $DIR/transmute.rs:33:8
|
43 | #[deny(transmute_ptr_to_ref)]
33 | #[deny(transmute_ptr_to_ref)]
| ^^^^^^^^^^^^^^^^^^^^
error: transmute from a pointer type (`*mut T`) to a reference type (`&mut T`)
--> $DIR/transmute.rs:51:21
--> $DIR/transmute.rs:38:21
|
51 | let _: &mut T = std::mem::transmute(m);
38 | let _: &mut T = std::mem::transmute(m);
| ^^^^^^^^^^^^^^^^^^^^^^ help: try `&mut *m`
error: transmute from a pointer type (`*mut T`) to a reference type (`&T`)
--> $DIR/transmute.rs:57:17
--> $DIR/transmute.rs:41:17
|
57 | let _: &T = std::mem::transmute(m);
41 | let _: &T = std::mem::transmute(m);
| ^^^^^^^^^^^^^^^^^^^^^^ help: try `&*m`
error: transmute from a pointer type (`*mut T`) to a reference type (`&mut T`)
--> $DIR/transmute.rs:63:21
--> $DIR/transmute.rs:44:21
|
63 | let _: &mut T = std::mem::transmute(p as *mut T);
44 | let _: &mut T = std::mem::transmute(p as *mut T);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `&mut *(p as *mut T)`
error: transmute from a pointer type (`*const U`) to a reference type (`&T`)
--> $DIR/transmute.rs:69:17
--> $DIR/transmute.rs:47:17
|
69 | let _: &T = std::mem::transmute(o);
47 | let _: &T = std::mem::transmute(o);
| ^^^^^^^^^^^^^^^^^^^^^^ help: try `&*(o as *const T)`
error: transmute from a pointer type (`*mut U`) to a reference type (`&mut T`)
--> $DIR/transmute.rs:75:21
--> $DIR/transmute.rs:50:21
|
75 | let _: &mut T = std::mem::transmute(om);
50 | let _: &mut T = std::mem::transmute(om);
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try `&mut *(om as *mut T)`
error: transmute from a pointer type (`*mut U`) to a reference type (`&T`)
--> $DIR/transmute.rs:81:17
--> $DIR/transmute.rs:53:17
|
81 | let _: &T = std::mem::transmute(om);
53 | let _: &T = std::mem::transmute(om);
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try `&*(om as *const T)`
error: transmute from a pointer type (`*const i32`) to a reference type (`&issue1231::Foo<'_, u8>`)
--> $DIR/transmute.rs:95:32
--> $DIR/transmute.rs:64:32
|
95 | let _: &Foo<u8> = unsafe { std::mem::transmute::<_, &Foo<_>>(raw) };
64 | let _: &Foo<u8> = unsafe { std::mem::transmute::<_, &Foo<_>>(raw) };
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `&*(raw as *const Foo<_>)`
|
note: lint level defined here
--> $DIR/transmute.rs:88:8
--> $DIR/transmute.rs:57:8
|
88 | #[deny(transmute_ptr_to_ref)]
57 | #[deny(transmute_ptr_to_ref)]
| ^^^^^^^^^^^^^^^^^^^^
error: transmute from a pointer type (`*const i32`) to a reference type (`&issue1231::Foo<'_, &u8>`)
--> $DIR/transmute.rs:100:33
|
100 | let _: &Foo<&u8> = unsafe { std::mem::transmute::<_, &Foo<&_>>(raw) };
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `&*(raw as *const Foo<&_>)`
--> $DIR/transmute.rs:66:33
|
66 | let _: &Foo<&u8> = unsafe { std::mem::transmute::<_, &Foo<&_>>(raw) };
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `&*(raw as *const Foo<&_>)`
error: transmute from a pointer type (`*const i32`) to a reference type (`&u8`)
--> $DIR/transmute.rs:107:14
|
107 | unsafe { std::mem::transmute::<_, Bar>(raw) };
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `&*(raw as *const u8)`
--> $DIR/transmute.rs:70:14
|
70 | unsafe { std::mem::transmute::<_, Bar>(raw) };
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `&*(raw as *const u8)`
error: transmute from a type (`std::vec::Vec<i32>`) to itself
--> $DIR/transmute.rs:116:27
|
116 | let _: Vec<i32> = core::intrinsics::transmute(my_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
--> $DIR/transmute.rs:76:27
|
76 | let _: Vec<i32> = core::intrinsics::transmute(my_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: lint level defined here
--> $DIR/transmute.rs:113:8
|
113 | #[deny(useless_transmute)]
| ^^^^^^^^^^^^^^^^^
--> $DIR/transmute.rs:73:8
|
73 | #[deny(useless_transmute)]
| ^^^^^^^^^^^^^^^^^
error: transmute from a type (`std::vec::Vec<i32>`) to itself
--> $DIR/transmute.rs:119:27
|
119 | let _: Vec<i32> = core::mem::transmute(my_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--> $DIR/transmute.rs:78:27
|
78 | let _: Vec<i32> = core::mem::transmute(my_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: transmute from a type (`std::vec::Vec<i32>`) to itself
--> $DIR/transmute.rs:122:27
|
122 | let _: Vec<i32> = std::intrinsics::transmute(my_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--> $DIR/transmute.rs:80:27
|
80 | let _: Vec<i32> = std::intrinsics::transmute(my_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: transmute from a type (`std::vec::Vec<i32>`) to itself
--> $DIR/transmute.rs:125:27
|
125 | let _: Vec<i32> = std::mem::transmute(my_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--> $DIR/transmute.rs:82:27
|
82 | let _: Vec<i32> = std::mem::transmute(my_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: transmute from a type (`std::vec::Vec<i32>`) to itself
--> $DIR/transmute.rs:128:27
|
128 | let _: Vec<i32> = my_transmute(my_vec());
| ^^^^^^^^^^^^^^^^^^^^^^
--> $DIR/transmute.rs:84:27
|
84 | let _: Vec<i32> = my_transmute(my_vec());
| ^^^^^^^^^^^^^^^^^^^^^^
error: transmute from an integer to a pointer
--> $DIR/transmute.rs:137:31
|
137 | let _: *const usize = std::mem::transmute(5_isize);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `5_isize as *const usize`
--> $DIR/transmute.rs:92:31
|
92 | let _: *const usize = std::mem::transmute(5_isize);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `5_isize as *const usize`
error: transmute from an integer to a pointer
--> $DIR/transmute.rs:143:31
|
143 | let _: *const usize = std::mem::transmute(1+1usize);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `(1+1usize) as *const usize`
--> $DIR/transmute.rs:96:31
|
96 | let _: *const usize = std::mem::transmute(1+1usize);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `(1+1usize) as *const usize`
error: transmute from a type (`*const Usize`) to the type that it points to (`Usize`)
--> $DIR/transmute.rs:160:24
--> $DIR/transmute.rs:111:24
|
160 | let _: Usize = core::intrinsics::transmute(int_const_ptr);
111 | let _: Usize = core::intrinsics::transmute(int_const_ptr);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: lint level defined here
--> $DIR/transmute.rs:153:8
--> $DIR/transmute.rs:104:8
|
153 | #[deny(crosspointer_transmute)]
104 | #[deny(crosspointer_transmute)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: transmute from a type (`*mut Usize`) to the type that it points to (`Usize`)
--> $DIR/transmute.rs:163:24
--> $DIR/transmute.rs:113:24
|
163 | let _: Usize = core::intrinsics::transmute(int_mut_ptr);
113 | let _: Usize = core::intrinsics::transmute(int_mut_ptr);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: transmute from a type (`Usize`) to a pointer to that type (`*const Usize`)
--> $DIR/transmute.rs:166:31
--> $DIR/transmute.rs:115:31
|
166 | let _: *const Usize = core::intrinsics::transmute(my_int());
115 | let _: *const Usize = core::intrinsics::transmute(my_int());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: transmute from a type (`Usize`) to a pointer to that type (`*mut Usize`)
--> $DIR/transmute.rs:169:29
--> $DIR/transmute.rs:117:29
|
169 | let _: *mut Usize = core::intrinsics::transmute(my_int());
117 | let _: *mut Usize = core::intrinsics::transmute(my_int());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 25 previous errors

View File

@ -7,14 +7,10 @@ fn main() {
unsafe {
let _: *const usize = std::mem::transmute(6.0f32);
let _: *mut usize = std::mem::transmute(6.0f32);
let _: *const usize = std::mem::transmute('x');
let _: *mut usize = std::mem::transmute('x');
}
}

View File

@ -8,8 +8,6 @@ fn main() {
unsafe {
let _: *const usize = std::mem::transmute(6.0f64);
let _: *mut usize = std::mem::transmute(6.0f64);
}
}

View File

@ -11,9 +11,9 @@ note: lint level defined here
| ^^^^^^^^^^^^^^^
error: transmute from a `f64` to a pointer
--> $DIR/transmute_64bit.rs:12:29
--> $DIR/transmute_64bit.rs:11:29
|
12 | let _: *mut usize = std::mem::transmute(6.0f64);
11 | let _: *mut usize = std::mem::transmute(6.0f64);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 2 previous errors