The for loop iterates over ranges of values or the items in a collection:

fn main() {
    for x in 1..5 {
        println!("x: {x}");

    for elem in [1, 2, 3, 4, 5] {
        println!("elem: {elem}");
  • Under the hood for loops use a concept called “iterators” to handle iterating over different kinds of ranges/collections. Iterators will be discussed in more detail later.
  • Note that the first for loop only iterates to 4. Show the 1..=5 syntax for an inclusive range.