# Error code E0641

Attempted to cast to/from a pointer with an unknown kind.

Erroneous code example:

    #![allow(unused)]
    fn main() {
    let b = 0 as *const _; // error
    }

Type information must be provided if a pointer type being cast from/into another type which cannot be inferred:

    #![allow(unused)]
    fn main() {
    // Creating a pointer from reference: type can be inferred
    let a = &(String::from("Hello world!")) as *const _; // ok!

    let b = 0 as *const i32; // ok!

    let c: *const i32 = 0 as *const _; // ok!
    }