]> git.lizzy.rs Git - rust.git/blob - tests/ui/collapsible_if.rs
Merge pull request #2984 from flip1995/single_char_pattern
[rust.git] / tests / ui / collapsible_if.rs
1
2
3
4 #[warn(collapsible_if)]
5 fn main() {
6     let x = "hello";
7     let y = "world";
8     if x == "hello" {
9         if y == "world" {
10             println!("Hello world!");
11         }
12     }
13
14     if x == "hello" || x == "world" {
15         if y == "world" || y == "hello" {
16             println!("Hello world!");
17         }
18     }
19
20     if x == "hello" && x == "world" {
21         if y == "world" || y == "hello" {
22             println!("Hello world!");
23         }
24     }
25
26     if x == "hello" || x == "world" {
27         if y == "world" && y == "hello" {
28             println!("Hello world!");
29         }
30     }
31
32     if x == "hello" && x == "world" {
33         if y == "world" && y == "hello" {
34             println!("Hello world!");
35         }
36     }
37
38     if 42 == 1337 {
39         if 'a' != 'A' {
40             println!("world!")
41         }
42     }
43
44     // Collapse `else { if .. }` to `else if ..`
45     if x == "hello" {
46         print!("Hello ");
47     } else {
48         if y == "world" {
49             println!("world!")
50         }
51     }
52
53     if x == "hello" {
54         print!("Hello ");
55     } else {
56         if let Some(42) = Some(42) {
57             println!("world!")
58         }
59     }
60
61     if x == "hello" {
62         print!("Hello ");
63     } else {
64         if y == "world" {
65             println!("world")
66         }
67         else {
68             println!("!")
69         }
70     }
71
72     if x == "hello" {
73         print!("Hello ");
74     } else {
75         if let Some(42) = Some(42) {
76             println!("world")
77         }
78         else {
79             println!("!")
80         }
81     }
82
83     if let Some(42) = Some(42) {
84         print!("Hello ");
85     } else {
86         if let Some(42) = Some(42) {
87             println!("world")
88         }
89         else {
90             println!("!")
91         }
92     }
93
94     if let Some(42) = Some(42) {
95         print!("Hello ");
96     } else {
97         if x == "hello" {
98             println!("world")
99         }
100         else {
101             println!("!")
102         }
103     }
104
105     if let Some(42) = Some(42) {
106         print!("Hello ");
107     } else {
108         if let Some(42) = Some(42) {
109             println!("world")
110         }
111         else {
112             println!("!")
113         }
114     }
115
116     // Works because any if with an else statement cannot be collapsed.
117     if x == "hello" {
118         if y == "world" {
119             println!("Hello world!");
120         }
121     } else {
122         println!("Not Hello world");
123     }
124
125     if x == "hello" {
126         if y == "world" {
127             println!("Hello world!");
128         } else {
129             println!("Hello something else");
130         }
131     }
132
133     if x == "hello" {
134         print!("Hello ");
135         if y == "world" {
136             println!("world!")
137         }
138     }
139
140     if true {
141     } else {
142         assert!(true); // assert! is just an `if`
143     }
144 }