```Rust 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.