]> git.lizzy.rs Git - rust.git/blob - tests/ui/find_map.rs
Auto merge of #4478 - tsurai:master, r=flip1995
[rust.git] / tests / ui / find_map.rs
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     let _: Option<Flavor> = desserts_of_the_week
23         .iter()
24         .find(|dessert| match *dessert {
25             Dessert::Cake(_) => true,
26             _ => false,
27         })
28         .map(|dessert| match *dessert {
29             Dessert::Cake(ref flavor) => *flavor,
30             _ => unreachable!(),
31         });
32 }