summaryrefslogtreecommitdiffstats
path: root/src/test/ui/associated-types/associated-types-doubleendediterator-object.rs
blob: 05498ba63e9948305f8a699be193bcc41131e43b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// run-pass

fn pairwise_sub(mut t: Box<dyn DoubleEndedIterator<Item=isize>>) -> isize {
    let mut result = 0;
    loop {
        let front = t.next();
        let back = t.next_back();
        match (front, back) {
            (Some(f), Some(b)) => { result += b - f; }
            _ => { return result; }
        }
    }
}

fn main() {
    let v = vec![1, 2, 3, 4, 5, 6];
    let r = pairwise_sub(Box::new(v.into_iter()));
    assert_eq!(r, 9);
}