use std::iter;
fn silly<I: Iterator<Item=()>>(it: I) {
    silly(it.chain(iter::empty()))
}
fn main() {
    println!("Start");
    silly(iter::empty());
    println!("Done");
}This code causes compiler to be stuck wasting CPU cycles, instead of printing some kind of recursion limit error.