1 unstable release
0.1.1 | Feb 25, 2022 |
---|---|
0.1.0 |
|
#1520 in Rust patterns
8KB
121 lines
iter-diff
Differences between iterators
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);