Я хочу реализовать черту, для которой одна из функций принимает итератор в качестве аргумента, а затем оперирует значениями, возвращаемыми этим итератором как неизменяемыми ссылками.
Однако я также хотел бы, чтобы моя функция работала и с итераторами по значениям (без дублирования кода). Как я могу это сделать?
Следующее не работает:
impl<T, I: Iterator> FilterItem for SortedFilter<I> where T: Ord, I::Item: Borrow<T> {
...
}
я получил
error: the type parameter `T` is not constrained by the impl trait, self type, or predicates