| Crates.io | pure-iter |
| lib.rs | pure-iter |
| version | 0.1.1 |
| created_at | 2025-06-09 04:49:14.214508+00 |
| updated_at | 2025-06-09 04:57:34.205092+00 |
| description | Iterator adapter without side-effects, possible better performance |
| homepage | |
| repository | https://github.com/A4-Tacks/pure-iter-rs |
| max_upload_size | |
| id | 1705499 |
| size | 8,071 |
Iterator adapter without side-effects, possible better performance
use std::sync::atomic::{AtomicU32, Ordering::*};
use pure_iter::PureIterExt;
let mut a = AtomicU32::new(0);
let mut b = AtomicU32::new(0);
let c = (0..3).map(|_| a.fetch_add(1, Release)).nth(2);
let d = (0..3).pure_map(|_| b.fetch_add(1, Release)).nth(2);
assert_eq!(c, Some(2));
assert_eq!(d, Some(0));
assert_eq!(a.load(Acquire), 3);
assert_eq!(b.load(Acquire), 1);