| An incompatible cast was attempted. | |
| Erroneous code example: | |
| ```compile_fail,E0606 | |
| let x = &0u8; // Here, `x` is a `&u8`. | |
| let y: u32 = x as u32; // error: casting `&u8` as `u32` is invalid | |
| ``` | |
| When casting, keep in mind that only primitive types can be cast into each | |
| other. Example: | |
| ``` | |
| let x = &0u8; | |
| let y: u32 = *x as u32; // We dereference it first and then cast it. | |
| ``` | |
| For more information about casts, take a look at the Type cast section in | |
| [The Reference Book][1]. | |
| [1]: https://doc.rust-lang.org/reference/expressions/operator-expr.html#type-cast-expressions |