| Attempted to index a value whose type doesn't implement the |
| `std::ops::Index` trait. |
| |
| Erroneous code example: |
| |
| ```compile_fail,E0608 |
| 0u8[2]; // error: cannot index into a value of type `u8` |
| ``` |
| |
| Only values with types that implement the `std::ops::Index` trait |
| can be indexed with square brackets. Example: |
| |
| ``` |
| let v: Vec<u8> = vec![0, 1, 2, 3]; |
| |
| // The `Vec` type implements the `Index` trait so you can do: |
| println!("{}", v[2]); |
| ``` |
| |
| Tuples and structs are indexed with dot (`.`), not with brackets (`[]`), |
| and tuple element names are their positions: |
| ```ignore(pseudo code) |
| // this (pseudo code) expression is true for any tuple: |
| tuple == (tuple.0, tuple.1, ...) |
| ``` |