1 unstable release

0.1.1 Feb 25, 2022
0.1.0 Feb 25, 2022

#1520 in Rust patterns

MIT/Apache

8KB
121 lines

iter-diff

Differences between iterators

CI codecov docs.rs


The IterDiff trait can be used to iterate through the differences between two iterators. The differences between each element are enumerated by Diff. The variants of the enum express the changes one would need to make to the left-hand iterator in order to attain the right-hand iterator.

use iter_diff::prelude::*;

let a = [0, 1, 2, 3];
let b = [0, 2, 2];

let diffs: Vec<_> = a.iter_diff(b).collect();
assert_eq!(diffs.len(), 4);

assert_eq!(diffs[0], Diff::Keep);
assert_eq!(diffs[1], Diff::Change(2));
assert_eq!(diffs[2], Diff::Keep);
assert_eq!(diffs[3], Diff::Remove);

No runtime deps