forward-iter

Crates.ioforward-iter
lib.rsforward-iter
version0.1.0
created_at2025-04-28 14:05:47.855113+00
updated_at2025-04-28 14:05:47.855113+00
descriptionEnsure that side effects in iterators always run forward
homepage
repositoryhttps://github.com/A4-Tacks/forward-iter-rs
max_upload_size
id1652202
size5,900
A4-Tacks (A4-Tacks)

documentation

README

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!
Commit count: 2

cargo fmt