# Error code E0606

An incompatible cast was attempted.

Erroneous code example:

    #![allow(unused)]
    fn main() {
    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:

    #![allow(unused)]
    fn main() {
    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.