| //@ check-pass | |
| #![allow(clippy::useless_vec)] | |
| #[derive(Debug, Copy, Clone)] | |
| enum Flavor { | |
| Chocolate, | |
| } | |
| #[derive(Debug, Copy, Clone)] | |
| enum Dessert { | |
| Banana, | |
| Pudding, | |
| Cake(Flavor), | |
| } | |
| fn main() { | |
| let desserts_of_the_week = vec![Dessert::Banana, Dessert::Cake(Flavor::Chocolate), Dessert::Pudding]; | |
| let a = ["lol", "NaN", "2", "5", "Xunda"]; | |
| let _: Option<i32> = a.iter().find(|s| s.parse::<i32>().is_ok()).map(|s| s.parse().unwrap()); | |
| #[allow(clippy::match_like_matches_macro)] | |
| let _: Option<Flavor> = desserts_of_the_week | |
| .iter() | |
| .find(|dessert| match *dessert { | |
| Dessert::Cake(_) => true, | |
| _ => false, | |
| }) | |
| .map(|dessert| match *dessert { | |
| Dessert::Cake(ref flavor) => *flavor, | |
| _ => unreachable!(), | |
| }); | |
| } |