]> git.lizzy.rs Git - rust.git/blob - src/test/ui/associated-types/associated-types-doubleendediterator-object.rs
Auto merge of #103600 - compiler-errors:early-binder-nits, r=spastorino
[rust.git] / src / test / ui / associated-types / associated-types-doubleendediterator-object.rs
1 // run-pass
2
3 fn pairwise_sub(mut t: Box<dyn DoubleEndedIterator<Item=isize>>) -> isize {
4     let mut result = 0;
5     loop {
6         let front = t.next();
7         let back = t.next_back();
8         match (front, back) {
9             (Some(f), Some(b)) => { result += b - f; }
10             _ => { return result; }
11         }
12     }
13 }
14
15 fn main() {
16     let v = vec![1, 2, 3, 4, 5, 6];
17     let r = pairwise_sub(Box::new(v.into_iter()));
18     assert_eq!(r, 9);
19 }