That's not true: https://play.rust-lang.org/?version=stable&mode=debug&editio...
let v: Option<Vec<i32>> = (0..5).map(|i| {
print!("{i} ");
if i == 3 { None } else { Some(i) }
}).collect();
// prints 0 1 2 3