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