#![allow(dead_code, deprecated, unused_variables, unused_mut)] fn make_iter(do_insert: bool) -> impl Iterator { match do_insert { true => return (0..4).chain(Some(42)).chain(4..8), false => return (0..4).chain(None).chain(4..8), } } fn main() { println!("{:?}", make_iter(true).collect::< Vec < _ >> ()); println!("{:?}", make_iter(false).collect::< Vec < _ >> ()); }