// 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);
}
