¿Por qué el compilador no se queja de que un iterador movido a un bucle for es inmutable?
Estoy leyendo la segunda edición del Rust Book y encontré el siguiente ejemplo en la sección de iteradores:
let v1 = vec![1, 2, 3];
let v1_iter = v1.iter();
for val in v1_iter {
println!("Got: {}", val);
}
¿Por qué el compilador no se queja de quev1_iter
es inmutable? El libro dice que el ciclo for tomó posesión dev1_iter
y lo hizo mutable detrás de escena, pero ¿puedes convertir una variable inmutable a mutable?