]> git.proxmox.com Git - rustc.git/blob - compiler/rustc_error_codes/src/error_codes/E0512.md
New upstream version 1.48.0~beta.8+dfsg1
[rustc.git] / compiler / rustc_error_codes / src / error_codes / E0512.md
1 Transmute with two differently sized types was attempted.
2
3 Erroneous code example:
4
5 ```compile_fail,E0512
6 fn takes_u8(_: u8) {}
7
8 fn main() {
9 unsafe { takes_u8(::std::mem::transmute(0u16)); }
10 // error: cannot transmute between types of different sizes,
11 // or dependently-sized types
12 }
13 ```
14
15 Please use types with same size or use the expected type directly. Example:
16
17 ```
18 fn takes_u8(_: u8) {}
19
20 fn main() {
21 unsafe { takes_u8(::std::mem::transmute(0i8)); } // ok!
22 // or:
23 unsafe { takes_u8(0u8); } // ok!
24 }
25 ```