1 warning: function cannot return without recursing
2 --> $DIR/issue-83150.rs:11:1
4 LL | fn func<T: Iterator<Item = u8>>(iter: &mut T) {
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
6 LL | func(&mut iter.map(|x| x + 1))
7 | ------------------------------ recursive call site
9 = help: a `loop` may express intention better if this is on purpose
10 = note: `#[warn(unconditional_recursion)]` on by default
12 error[E0275]: overflow evaluating the requirement `Map<&mut std::ops::Range<u8>, [closure@$DIR/issue-83150.rs:12:24: 12:27]>: Iterator`
14 = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_83150`)
15 = note: required for `&mut Map<&mut std::ops::Range<u8>, [closure@$DIR/issue-83150.rs:12:24: 12:27]>` to implement `Iterator`
16 = note: 65 redundant requirements hidden
17 = note: required for `&mut Map<&mut Map<&mut Map<&mut Map<&mut Map<&mut Map<&mut Map<..., ...>, ...>, ...>, ...>, ...>, ...>, ...>` to implement `Iterator`
18 = note: the full type name has been written to '$TEST_BUILD_DIR/recursion/issue-83150/issue-83150.long-type-hash.txt'
20 error: aborting due to previous error; 1 warning emitted
22 For more information about this error, try `rustc --explain E0275`.