#[allow(dead_code)]
pub trait Sealed {}
pub(crate) enum IterRect<T, A, U>
where
A: Iterator<Item = T>,
U: Iterator<Item = T>,
{
Aligned(A),
Unaligned(U),
}
impl<T, A, U> Iterator for IterRect<T, A, U>
where
A: Iterator<Item = T>,
U: Iterator<Item = T>,
{
type Item = T;
fn next(&mut self) -> Option<Self::Item> {
match self {
IterRect::Aligned(iter) => iter.next(),
IterRect::Unaligned(iter) => iter.next(),
}
}
fn size_hint(&self) -> (usize, Option<usize>) {
match self {
IterRect::Aligned(iter) => iter.size_hint(),
IterRect::Unaligned(iter) => iter.size_hint(),
}
}
}