| Attempted to access a field on a primitive type. |
| |
| Erroneous code example: |
| |
| ```compile_fail,E0610 |
| 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: |
| |
| ``` |
| // 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. |
| |
| [primitives]: https://doc.rust-lang.org/book/ch03-02-data-types.html |
| [structs]: https://doc.rust-lang.org/book/ch05-00-structs.html |