warning: function cannot return without recursing --> $DIR/recursive-ice-101862.rs:4:1 | LL | pub fn ice(x: impl AsRef) -> impl IntoIterator { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing LL | LL | vec![].append(&mut ice(x.as_ref())); | --------------- recursive call site | = help: a `loop` may express intention better if this is on purpose = note: `#[warn(unconditional_recursion)]` on by default error[E0792]: expected generic type parameter, found `&str` --> $DIR/recursive-ice-101862.rs:6:5 | LL | pub fn ice(x: impl AsRef) -> impl IntoIterator { | --------------- this generic parameter must be used with a generic type parameter LL | LL | vec![].append(&mut ice(x.as_ref())); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to 1 previous error; 1 warning emitted For more information about this error, try `rustc --explain E0792`.