pub trait IterDiff<T>: IntoIterator<Item = T> + Sealed<T> {
// Required method
fn iter_diff<U, Rhs>(
self,
rhs: Rhs,
) -> DiffIter<Self::IntoIter, Rhs::IntoIter> ⓘ
where T: PartialEq<U>,
Rhs: IntoIterator<Item = U>;
}
Expand description
Iterate through the differences between each element.
Required Methods§
Sourcefn iter_diff<U, Rhs>(self, rhs: Rhs) -> DiffIter<Self::IntoIter, Rhs::IntoIter> ⓘwhere
T: PartialEq<U>,
Rhs: IntoIterator<Item = U>,
fn iter_diff<U, Rhs>(self, rhs: Rhs) -> DiffIter<Self::IntoIter, Rhs::IntoIter> ⓘwhere
T: PartialEq<U>,
Rhs: IntoIterator<Item = U>,
Return an iterator through the differences of each element.
use iter_diff::prelude::*;
let a = [0, 1, 2];
let b = [0, 3, 2, 3];
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(3));
assert_eq!(diffs[2], Diff::Keep);
assert_eq!(diffs[3], Diff::Add(3));
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.