# Error code E0610

Attempted to access a field on a primitive type.

Erroneous code example:

    #![allow(unused)]
    fn main() {
    let x: u32 = 0;
    println!("{}", x.foo); // error: `{integer}` is a primitive type, therefore
                           //        doesn't have fields
    }

Primitive types are the most basic types available in Rust and don't have fields. To access data via named fields, struct types are used. Example:

    #![allow(unused)]
    fn main() {
    // We declare struct called `Foo` containing two fields:
    struct Foo {
        x: u32,
        y: i64,
    }

    // We create an instance of this struct:
    let variable = Foo { x: 0, y: -12 };
    // And we can now access its fields:
    println!("x: {}, y: {}", variable.x, variable.y);
    }

For more information about primitives and structs, take a look at the Book.