]>
Commit | Line | Data |
---|---|---|
1 | #![warn(clippy::all, clippy::pedantic)] | |
2 | ||
3 | #[derive(Debug, Copy, Clone)] | |
4 | enum Flavor { | |
5 | Chocolate, | |
6 | } | |
7 | ||
8 | #[derive(Debug, Copy, Clone)] | |
9 | enum Dessert { | |
10 | Banana, | |
11 | Pudding, | |
12 | Cake(Flavor), | |
13 | } | |
14 | ||
15 | fn main() { | |
16 | let desserts_of_the_week = vec![Dessert::Banana, Dessert::Cake(Flavor::Chocolate), Dessert::Pudding]; | |
17 | ||
18 | let a = ["lol", "NaN", "2", "5", "Xunda"]; | |
19 | ||
20 | let _: Option<i32> = a.iter().find(|s| s.parse::<i32>().is_ok()).map(|s| s.parse().unwrap()); | |
21 | ||
22 | #[allow(clippy::match_like_matches_macro)] | |
23 | let _: Option<Flavor> = desserts_of_the_week | |
24 | .iter() | |
25 | .find(|dessert| match *dessert { | |
26 | Dessert::Cake(_) => true, | |
27 | _ => false, | |
28 | }) | |
29 | .map(|dessert| match *dessert { | |
30 | Dessert::Cake(ref flavor) => *flavor, | |
31 | _ => unreachable!(), | |
32 | }); | |
33 | } |