chars()で文字列を分割したイテレータが返ってくるようなのでenumerate()でインデックス情報を追加します。
fn main() {
    let str = "abc";
    for (i, c) in str.chars().enumerate() {
        println!("{:?} : {:?}", i, c)
    }
}
出力
0 : 'a'
1 : 'b'
2 : 'c'
インデックスを1から始まりにする
zip()の2つのイテレータをまとめる性質を利用して0以外の値からスタートさせることもできます。
fn main() {
    let str = "abc";
    for (i, c) in (1..).zip(str.chars()) {
        println!("{:?} : {:?}", i, c)
    }
}
出力
1 : 'a'
2 : 'b'
3 : 'c'