error[E0271]: expected `foo` to be a fn item that returns `i32`, but it returns `()` --> $DIR/issue-106991.rs:5:13 | LL | fn bar() -> impl Iterator { | ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `i32` | = note: required for `Map>, for<'a> fn(&'a mut Vec) {foo}>` to implement `Iterator` error: aborting due to previous error For more information about this error, try `rustc --explain E0271`.