]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/transmute.stderr
Auto merge of #3603 - xfix:random-state-lint, r=phansch
[rust.git] / tests / ui / transmute.stderr
index ec9e794185506ef2689ef3b77e5eb4f204bebb63..a6e87a72104c75f52889b93d5068040360eddb96 100644 (file)
 error: transmute from a type (`&'a T`) to itself
-  --> $DIR/transmute.rs:22:20
+  --> $DIR/transmute.rs:28:20
    |
-22 |     let _: &'a T = core::intrinsics::transmute(t);
+LL |     let _: &'a T = core::intrinsics::transmute(t);
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
-note: lint level defined here
-  --> $DIR/transmute.rs:20:8
-   |
-20 | #[deny(useless_transmute)]
-   |        ^^^^^^^^^^^^^^^^^
+   = note: `-D clippy::useless-transmute` implied by `-D warnings`
 
 error: transmute from a reference to a pointer
-  --> $DIR/transmute.rs:27:23
-   |
-27 |     let _: *const T = core::intrinsics::transmute(t);
-   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  --> $DIR/transmute.rs:32:23
    |
-help: try
-   |     let _: *const T = t as *const T;
+LL |     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:34:21
    |
-32 |     let _: *mut T = core::intrinsics::transmute(t);
-   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-help: try
-   |     let _: *mut T = t as *const T as *mut T;
+LL |     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
-   |
-37 |     let _: *const U = core::intrinsics::transmute(t);
-   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  --> $DIR/transmute.rs:36:23
    |
-help: try
-   |     let _: *const U = t as *const T as *const U;
+LL |     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:41:17
    |
-45 |     let _: &T = std::mem::transmute(p);
-   |                 ^^^^^^^^^^^^^^^^^^^^^^
+LL |     let _: &T = std::mem::transmute(p);
+   |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*p`
    |
-note: lint level defined here
-  --> $DIR/transmute.rs:43:8
-   |
-43 | #[deny(transmute_ptr_to_ref)]
-   |        ^^^^^^^^^^^^^^^^^^^^
-help: try
-   |     let _: &T = &*p;
+   = note: `-D clippy::transmute-ptr-to-ref` implied by `-D warnings`
 
 error: transmute from a pointer type (`*mut T`) to a reference type (`&mut T`)
-  --> $DIR/transmute.rs:51:21
-   |
-51 |     let _: &mut T = std::mem::transmute(m);
-   |                     ^^^^^^^^^^^^^^^^^^^^^^
+  --> $DIR/transmute.rs:44:21
    |
-help: try
-   |     let _: &mut T = &mut *m;
+LL |     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:47:17
    |
-57 |     let _: &T = std::mem::transmute(m);
-   |                 ^^^^^^^^^^^^^^^^^^^^^^
-   |
-help: try
-   |     let _: &T = &*m;
+LL |     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
-   |
-63 |     let _: &mut T = std::mem::transmute(p as *mut T);
-   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  --> $DIR/transmute.rs:50:21
    |
-help: try
-   |     let _: &mut T = &mut *(p as *mut T);
+LL |     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:53:17
    |
-69 |     let _: &T = std::mem::transmute(o);
-   |                 ^^^^^^^^^^^^^^^^^^^^^^
-   |
-help: try
-   |     let _: &T = &*(o as *const T);
+LL |     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
-   |
-75 |     let _: &mut T = std::mem::transmute(om);
-   |                     ^^^^^^^^^^^^^^^^^^^^^^^
+  --> $DIR/transmute.rs:56:21
    |
-help: try
-   |     let _: &mut T = &mut *(om as *mut T);
+LL |     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:59:17
    |
-81 |     let _: &T = std::mem::transmute(om);
-   |                 ^^^^^^^^^^^^^^^^^^^^^^^
-   |
-help: try
-   |     let _: &T = &*(om as *const T);
+LL |     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
-   |
-95 |     let _: &Foo<u8> = unsafe { std::mem::transmute::<_, &Foo<_>>(raw) };
-   |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  --> $DIR/transmute.rs:70:32
    |
-note: lint level defined here
-  --> $DIR/transmute.rs:88:8
-   |
-88 | #[deny(transmute_ptr_to_ref)]
-   |        ^^^^^^^^^^^^^^^^^^^^
-help: try
-   |     let _: &Foo<u8> = unsafe { &*(raw as *const Foo<_>) };
+LL |     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 (`&issue1231::Foo<'_, &u8>`)
-   --> $DIR/transmute.rs:100:33
-    |
-100 |     let _: &Foo<&u8> = unsafe { std::mem::transmute::<_, &Foo<&_>>(raw) };
-    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-    |
-help: try
-    |     let _: &Foo<&u8> = unsafe { &*(raw as *const Foo<&_>) };
+  --> $DIR/transmute.rs:72:33
+   |
+LL |     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
-    |     unsafe { &*(raw as *const u8) };
+  --> $DIR/transmute.rs:76:14
+   |
+LL |     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());
-    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-    |
-note: lint level defined here
-   --> $DIR/transmute.rs:113:8
-    |
-113 | #[deny(useless_transmute)]
-    |        ^^^^^^^^^^^^^^^^^
+  --> $DIR/transmute.rs:82:27
+   |
+LL |         let _: Vec<i32> = core::intrinsics::transmute(my_vec());
+   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 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:84:27
+   |
+LL |         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:86:27
+   |
+LL |         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:88:27
+   |
+LL |         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:90:27
+   |
+LL |         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
-    |         let _: *const usize = 5_isize as *const usize;
+  --> $DIR/transmute.rs:98:31
+   |
+LL |         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
-    |         let _: *const usize = (1+1usize) as *const usize;
+  --> $DIR/transmute.rs:102:31
+   |
+LL |         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
-    |
-160 |         let _: Usize = core::intrinsics::transmute(int_const_ptr);
-    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-    |
-note: lint level defined here
-   --> $DIR/transmute.rs:153:8
-    |
-153 | #[deny(crosspointer_transmute)]
-    |        ^^^^^^^^^^^^^^^^^^^^^^
+  --> $DIR/transmute.rs:117:24
+   |
+LL |         let _: Usize = core::intrinsics::transmute(int_const_ptr);
+   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `-D clippy::crosspointer-transmute` implied by `-D warnings`
 
 error: transmute from a type (`*mut Usize`) to the type that it points to (`Usize`)
-   --> $DIR/transmute.rs:163:24
-    |
-163 |         let _: Usize = core::intrinsics::transmute(int_mut_ptr);
-    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  --> $DIR/transmute.rs:119:24
+   |
+LL |         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
-    |
-166 |         let _: *const Usize = core::intrinsics::transmute(my_int());
-    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  --> $DIR/transmute.rs:121:31
+   |
+LL |         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
-    |
-169 |         let _: *mut Usize = core::intrinsics::transmute(my_int());
-    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  --> $DIR/transmute.rs:123:29
+   |
+LL |         let _: *mut Usize = core::intrinsics::transmute(my_int());
+   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: transmute from a `u32` to a `char`
+  --> $DIR/transmute.rs:129:28
+   |
+LL |     let _: char = unsafe { std::mem::transmute(0_u32) };
+   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::char::from_u32(0_u32).unwrap()`
+   |
+   = note: `-D clippy::transmute-int-to-char` implied by `-D warnings`
+
+error: transmute from a `i32` to a `char`
+  --> $DIR/transmute.rs:130:28
+   |
+LL |     let _: char = unsafe { std::mem::transmute(0_i32) };
+   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::char::from_u32(0_i32 as u32).unwrap()`
+
+error: transmute from a `u8` to a `bool`
+  --> $DIR/transmute.rs:135:28
+   |
+LL |     let _: bool = unsafe { std::mem::transmute(0_u8) };
+   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `0_u8 != 0`
+   |
+   = note: `-D clippy::transmute-int-to-bool` implied by `-D warnings`
+
+error: transmute from a `u32` to a `f32`
+  --> $DIR/transmute.rs:140:27
+   |
+LL |     let _: f32 = unsafe { std::mem::transmute(0_u32) };
+   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f32::from_bits(0_u32)`
+   |
+   = note: `-D clippy::transmute-int-to-float` implied by `-D warnings`
+
+error: transmute from a `i32` to a `f32`
+  --> $DIR/transmute.rs:141:27
+   |
+LL |     let _: f32 = unsafe { std::mem::transmute(0_i32) };
+   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f32::from_bits(0_i32 as u32)`
+
+error: transmute from a `&[u8]` to a `&str`
+  --> $DIR/transmute.rs:145:28
+   |
+LL |     let _: &str = unsafe { std::mem::transmute(b) };
+   |                            ^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::str::from_utf8(b).unwrap()`
+   |
+   = note: `-D clippy::transmute-bytes-to-str` implied by `-D warnings`
+
+error: transmute from a `&mut [u8]` to a `&mut str`
+  --> $DIR/transmute.rs:146:32
+   |
+LL |     let _: &mut str = unsafe { std::mem::transmute(mb) };
+   |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::str::from_utf8_mut(mb).unwrap()`
+
+error: transmute from a pointer to a pointer
+  --> $DIR/transmute.rs:178:29
+   |
+LL |         let _: *const f32 = std::mem::transmute(ptr);
+   |                             ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ptr as *const f32`
+   |
+   = note: `-D clippy::transmute-ptr-to-ptr` implied by `-D warnings`
+
+error: transmute from a pointer to a pointer
+  --> $DIR/transmute.rs:179:27
+   |
+LL |         let _: *mut f32 = std::mem::transmute(mut_ptr);
+   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `mut_ptr as *mut f32`
+
+error: transmute from a reference to a reference
+  --> $DIR/transmute.rs:181:23
+   |
+LL |         let _: &f32 = std::mem::transmute(&1u32);
+   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&1u32 as *const u32 as *const f32)`
+
+error: transmute from a reference to a reference
+  --> $DIR/transmute.rs:182:23
+   |
+LL |         let _: &f64 = std::mem::transmute(&1f32);
+   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&1f32 as *const f32 as *const f64)`
+
+error: transmute from a reference to a reference
+  --> $DIR/transmute.rs:185:27
+   |
+LL |         let _: &mut f32 = std::mem::transmute(&mut 1u32);
+   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(&mut 1u32 as *mut u32 as *mut f32)`
+
+error: transmute from a reference to a reference
+  --> $DIR/transmute.rs:186:37
+   |
+LL |         let _: &GenericParam<f32> = std::mem::transmute(&GenericParam { t: 1u32 });
+   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&GenericParam { t: 1u32 } as *const GenericParam<u32> as *const GenericParam<f32>)`
 
-error: aborting due to 25 previous errors
+error: aborting due to 38 previous errors