blob: a9c066f0e8cb157eb9720b975f6d18bc3fe7e866 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
use core::iter::*;
#[test]
fn test_iterator_by_ref_sized() {
let a = ['a', 'b', 'c', 'd'];
let mut s = String::from("Z");
let mut it = a.iter().copied();
ByRefSized(&mut it).take(2).for_each(|x| s.push(x));
assert_eq!(s, "Zab");
ByRefSized(&mut it).fold((), |(), x| s.push(x));
assert_eq!(s, "Zabcd");
let mut s = String::from("Z");
let mut it = a.iter().copied();
ByRefSized(&mut it).rev().take(2).for_each(|x| s.push(x));
assert_eq!(s, "Zdc");
ByRefSized(&mut it).rfold((), |(), x| s.push(x));
assert_eq!(s, "Zdcba");
}
|