into_iter у массива отдаёт значения

Изменения в новых версиях / Rust 2021

let arr = [String::from("a"), String::from("b")];

// *** before: ***
for s in arr.into_iter() {
    // s: &String - the call fell through to the slice and gave references
    println!("{}", s.len());
}

// *** in version Rust 2021: ***
for s in arr.into_iter() {
    // s: String - the array gives the values themselves, yours to keep
    let owned: String = s;
    println!("{}", owned);
}