Я не уверен, как указать ограничения на тип вывода итератора для общих итераторов. До Rust 1.0 раньше я мог это сделать:
fn somefunc<A: Int, I: Iterator<A>>(xs: I) {
xs.next().unwrap().pow(2);
}
Но сейчас, я не знаю, как поставить ограничения на итератор Item
типа.
fn somefunc<I: Iterator>(xs: I) {
xs.next().unwrap().pow(2);
}
error: no method named 'pow' found for type '<I as std::iter::Iterator>::Item' in the current scope
--> src/main.rs:2:28
|
2 | xs.next().unwrap().pow(2);
| ^^^
Как я могу заставить это работать?