Use zip to pair two iterators and enumerate to add an index to a single iterator, then chain them to process items with their positions.
let words = vec!["hello", "world"];
for (index, word) in words.iter().enumerate().zip(words.iter()) {
println!("Index {}: {}", index, word);
}
For a more common pattern where you need the index and the item from one collection:
let words = vec!["hello", "world"];
for (index, &word) in words.iter().enumerate() {
println!("Index {}: {}", index, word);
}