| Crates.io | forward-iter |
| lib.rs | forward-iter |
| version | 0.1.0 |
| created_at | 2025-04-28 14:05:47.855113+00 |
| updated_at | 2025-04-28 14:05:47.855113+00 |
| description | Ensure that side effects in iterators always run forward |
| homepage | |
| repository | https://github.com/A4-Tacks/forward-iter-rs |
| max_upload_size | |
| id | 1652202 |
| size | 5,900 |
Ensure that side effects in iterators always run forward
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!