Expand description
Ensure that side effects in iterators always run forward
§Examples
Fail case:
ⓘ
let mut i = 0;
let x: Vec<_> = (0..4).map(|_| { i += 1; i }).rev().collect();
assert_eq!(x, [4, 3, 2, 1]); // fail!
Rewrite to:
use forward_iter::ForwardIterExt as _;
let mut i = 0;
let x: Vec<_> = (0..4).map(|_| { i += 1; i }).forward().rev().collect();
assert_eq!(x, [4, 3, 2, 1]); // success!
Structs§
- Forward
Iter - Create from
ForwardIterExt::forward
Traits§
- Forward
Iter Ext - Ensure that side effects in iterators always run forward