pub trait Factory {
type Item;
type Output: IntoIterator<Item = Self::Item>;
type Future: Future<Output = Self::Output>;
// Required method
fn make(&self, range: Range<usize>, is_rev: bool) -> Self::Future;
}pub trait Factory {
type Item;
type Output: IntoIterator<Item = Self::Item>;
type Future: Future<Output = Self::Output>;
// Required method
fn make(&self, range: Range<usize>, is_rev: bool) -> Self::Future;
}