En Rust, ¿es un vector un iterador?

¿Es correcto afirmar que un vector (entre otros tipos de colección) es unIterator?

Por ejemplo, puedo recorrer un vector de la siguiente manera, porque implementa elIterator rasgo (como lo entiendo):

let v = vec![1, 2, 3, 4, 5];

for x in &v {
    println!("{}", x);
}

Sin embargo, si quiero usar funciones que son parte deIterator rasgo (comofold, map ofilter) ¿Por qué debo llamar primero?iter() en ese vector?

Otro pensamiento que tuve fue tal vez que un vector se puede convertir en unIterator, y, en ese caso, la sintaxis anterior tiene más sentido.

Respuestas a la pregunta(1)

Su respuesta a la pregunta