impl Iterator<Item = usize>
型として受け取る
fn func(range:impl Iterator<Item = usize>){
for i in range{
todo!();
}
}
fn main(){
func(0..10);
func(0..=9);
}
0..10
と0..=9
で型が違うので単純にRange<usize>
で受け取ろうとすると0..=9
が受け取れなくなる。
ただ、このやり方だと当然Iterator<Item = usize>
を実装してる型はなんでも受け取れてしまう(それが問題になることは無いと思うが)。
その他
ググって一番上に出てきたこれが思ってたのと違ったので。
https://qiita.com/hystcs/items/ed7911a1a0e6443ae40d