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);
}