]> git.proxmox.com Git - rustc.git/blob - src/test/ui/expr/if/if-let.rs
New upstream version 1.52.0~beta.3+dfsg1
[rustc.git] / src / test / ui / expr / if / if-let.rs
1 // check-pass
2
3 fn macros() {
4 macro_rules! foo{
5 ($p:pat, $e:expr, $b:block) => {{
6 if let $p = $e $b
7 //~^ WARN irrefutable `if let`
8 //~| WARN irrefutable `if let`
9 }}
10 }
11 macro_rules! bar{
12 ($p:pat, $e:expr, $b:block) => {{
13 foo!($p, $e, $b)
14 }}
15 }
16
17 foo!(a, 1, {
18 println!("irrefutable pattern");
19 });
20 bar!(a, 1, {
21 println!("irrefutable pattern");
22 });
23 }
24
25 pub fn main() {
26 if let a = 1 { //~ WARN irrefutable `if let`
27 println!("irrefutable pattern");
28 }
29
30 if let a = 1 { //~ WARN irrefutable `if let`
31 println!("irrefutable pattern");
32 } else if true {
33 println!("else-if in irrefutable `if let`");
34 } else {
35 println!("else in irrefutable `if let`");
36 }
37
38 if let 1 = 2 {
39 println!("refutable pattern");
40 } else if let a = 1 { //~ WARN irrefutable `if let`
41 println!("irrefutable pattern");
42 }
43
44 if true {
45 println!("if");
46 } else if let a = 1 { //~ WARN irrefutable `if let`
47 println!("irrefutable pattern");
48 }
49 }