#[cfg(feature = "buffer")]
#[allow(dead_code)]
pub trait Sealed {}
#[cfg(not(feature = "buffer"))]
#[allow(dead_code)]
#[allow(clippy::redundant_pub_crate)]
pub(crate) trait Sealed {}
#[allow(dead_code)]
#[allow(clippy::redundant_pub_crate)]
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 {
Self::Aligned(iter) => iter.next(),
Self::Unaligned(iter) => iter.next(),
}
}
fn size_hint(&self) -> (usize, Option<usize>) {
match self {
Self::Aligned(iter) => iter.size_hint(),
Self::Unaligned(iter) => iter.size_hint(),
}
}
}