Why does `Option` support `IntoIterator`?
What use case is there for iterating over an Option? My favorite reason, in a word, is flatten: fn main() { let results = [Some(1), None, Some(3), None]; let sum: i32 = results.into_iter().flatten().sum(); println!(“{}”, sum) } Before Rust 1.29, you can use flat_map: fn main() { let results = vec![Some(1), None, Some(3), None]; let sum: … Read more