//@ run-pass | |
fn iter_vec<T, F>(v: Vec<T>, mut f: F) where F: FnMut(&T) { for x in &v { f(x); } } | |
pub fn main() { | |
let v = vec![1, 2, 3, 4, 5]; | |
let mut sum = 0; | |
iter_vec(v.clone(), |i| { | |
iter_vec(v.clone(), |j| { | |
sum += *i * *j; | |
}); | |
}); | |
println!("{}", sum); | |
assert_eq!(sum, 225); | |
} |