I thought that it should be something like this, but I cannot iterate over an borrowed array.
fn print_me<'a, I>(iter: &'a I) where I: Iterator<Item = i32> {
for i in *iter {
println!("{}", i);
}
}
fn main() {
let numbers = vec![1, 2, 3];
//let numbers = &numbers;
print_me(numbers.iter());
}
But Rust complains:
<anon>:15:12: 15:26 error: mismatched types:
expected `&_`,
found `core::slice::Iter<'_, _>`
(expected &-ptr,
found struct `core::slice::Iter`) [E0308]
<anon>:15 print_me(numbers.iter());
^~~~~~~~~~~~~~