Skip to content

Commit 4a7b537

Browse files
committed
let_chains: --bless some tests
1 parent deed92a commit 4a7b537

File tree

9 files changed

+108
-462
lines changed

9 files changed

+108
-462
lines changed

src/test/ui/if/if-let.rs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
1-
// build-pass (FIXME(62277): could be check-pass?)
1+
// check-pass
22

33
fn macros() {
44
macro_rules! foo{
55
($p:pat, $e:expr, $b:block) => {{
66
if let $p = $e $b
7-
//~^ WARN irrefutable if-let
8-
//~| WARN irrefutable if-let
97
}}
108
}
11-
macro_rules! bar{
12-
($p:pat, $e:expr, $b:block) => {{
13-
foo!($p, $e, $b)
14-
}}
9+
macro_rules! bar {
10+
($p:pat, $e:expr, $b:block) => {{ foo!($p, $e, $b) }};
1511
}
1612

1713
foo!(a, 1, {
14+
//~^ WARN irrefutable `let`
1815
println!("irrefutable pattern");
1916
});
2017
bar!(a, 1, {
18+
//~^ WARN irrefutable `let`
2119
println!("irrefutable pattern");
2220
});
2321
}
2422

2523
pub fn main() {
26-
if let a = 1 { //~ WARN irrefutable if-let
24+
if let a = 1 {
25+
//~^ WARN irrefutable `let`
2726
println!("irrefutable pattern");
2827
}
2928

30-
if let a = 1 { //~ WARN irrefutable if-let
29+
if let a = 1 {
30+
//~^ WARN irrefutable `let`
3131
println!("irrefutable pattern");
3232
} else if true {
3333
println!("else-if in irrefutable if-let");
@@ -37,13 +37,15 @@ pub fn main() {
3737

3838
if let 1 = 2 {
3939
println!("refutable pattern");
40-
} else if let a = 1 { //~ WARN irrefutable if-let
40+
} else if let a = 1 {
41+
//~^ WARN irrefutable `let`
4142
println!("irrefutable pattern");
4243
}
4344

4445
if true {
4546
println!("if");
46-
} else if let a = 1 { //~ WARN irrefutable if-let
47+
} else if let a = 1 {
48+
//~^ WARN irrefutable `let`
4749
println!("irrefutable pattern");
4850
}
4951
}

src/test/ui/if/if-let.stderr

Lines changed: 24 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,38 @@
1-
warning: irrefutable if-let pattern
2-
--> $DIR/if-let.rs:6:13
1+
warning: irrefutable `let` pattern
2+
--> $DIR/if-let.rs:13:10
33
|
4-
LL | if let $p = $e $b
5-
| ^^^^^^^^^^^^^^^^^
6-
...
7-
LL | / foo!(a, 1, {
8-
LL | | println!("irrefutable pattern");
9-
LL | | });
10-
| |_______- in this macro invocation
4+
LL | foo!(a, 1, {
5+
| ^
116
|
127
= note: `#[warn(irrefutable_let_patterns)]` on by default
138

14-
warning: irrefutable if-let pattern
15-
--> $DIR/if-let.rs:6:13
9+
warning: irrefutable `let` pattern
10+
--> $DIR/if-let.rs:17:10
1611
|
17-
LL | if let $p = $e $b
18-
| ^^^^^^^^^^^^^^^^^
19-
...
20-
LL | / bar!(a, 1, {
21-
LL | | println!("irrefutable pattern");
22-
LL | | });
23-
| |_______- in this macro invocation
12+
LL | bar!(a, 1, {
13+
| ^
2414

25-
warning: irrefutable if-let pattern
26-
--> $DIR/if-let.rs:26:5
15+
warning: irrefutable `let` pattern
16+
--> $DIR/if-let.rs:24:12
2717
|
28-
LL | / if let a = 1 {
29-
LL | | println!("irrefutable pattern");
30-
LL | | }
31-
| |_____^
18+
LL | if let a = 1 {
19+
| ^
3220

33-
warning: irrefutable if-let pattern
34-
--> $DIR/if-let.rs:30:5
21+
warning: irrefutable `let` pattern
22+
--> $DIR/if-let.rs:29:12
3523
|
36-
LL | / if let a = 1 {
37-
LL | | println!("irrefutable pattern");
38-
LL | | } else if true {
39-
LL | | println!("else-if in irrefutable if-let");
40-
LL | | } else {
41-
LL | | println!("else in irrefutable if-let");
42-
LL | | }
43-
| |_____^
24+
LL | if let a = 1 {
25+
| ^
4426

45-
warning: irrefutable if-let pattern
46-
--> $DIR/if-let.rs:40:12
27+
warning: irrefutable `let` pattern
28+
--> $DIR/if-let.rs:40:19
4729
|
48-
LL | } else if let a = 1 {
49-
| ____________^
50-
LL | | println!("irrefutable pattern");
51-
LL | | }
52-
| |_____^
30+
LL | } else if let a = 1 {
31+
| ^
5332

54-
warning: irrefutable if-let pattern
55-
--> $DIR/if-let.rs:46:12
33+
warning: irrefutable `let` pattern
34+
--> $DIR/if-let.rs:47:19
5635
|
57-
LL | } else if let a = 1 {
58-
| ____________^
59-
LL | | println!("irrefutable pattern");
60-
LL | | }
61-
| |_____^
36+
LL | } else if let a = 1 {
37+
| ^
6238

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#![deny(irrefutable_let_patterns)]
22

33
fn main() {
4-
if let _ = 5 {} //~ ERROR irrefutable if-let pattern
4+
if let _ = 5 {} //~ ERROR irrefutable `let` pattern
55

6-
while let _ = 5 { //~ ERROR irrefutable while-let pattern
6+
while let _ = 5 {
7+
//~^ ERROR irrefutable `let` pattern
78
break;
89
}
910
}
Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
1-
error: irrefutable if-let pattern
2-
--> $DIR/deny-irrefutable-let-patterns.rs:4:5
1+
error: irrefutable `let` pattern
2+
--> $DIR/deny-irrefutable-let-patterns.rs:4:12
33
|
44
LL | if let _ = 5 {}
5-
| ^^^^^^^^^^^^^^^
5+
| ^
66
|
77
note: lint level defined here
88
--> $DIR/deny-irrefutable-let-patterns.rs:1:9
99
|
1010
LL | #![deny(irrefutable_let_patterns)]
1111
| ^^^^^^^^^^^^^^^^^^^^^^^^
1212

13-
error: irrefutable while-let pattern
14-
--> $DIR/deny-irrefutable-let-patterns.rs:6:5
13+
error: irrefutable `let` pattern
14+
--> $DIR/deny-irrefutable-let-patterns.rs:6:15
1515
|
16-
LL | / while let _ = 5 {
17-
LL | | break;
18-
LL | | }
19-
| |_____^
16+
LL | while let _ = 5 {
17+
| ^
2018

2119
error: aborting due to 2 previous errors
2220

src/test/ui/rfc-2497-if-let-chains/feature-gate.rs

Lines changed: 4 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -13,103 +13,77 @@ fn _if() {
1313

1414
if (let 0 = 1) {}
1515
//~^ ERROR `let` expressions in this position are experimental [E0658]
16-
//~| ERROR `let` expressions are not supported here
1716

1817
if (((let 0 = 1))) {}
1918
//~^ ERROR `let` expressions in this position are experimental [E0658]
20-
//~| ERROR `let` expressions are not supported here
2119

2220
if true && let 0 = 1 {}
2321
//~^ ERROR `let` expressions in this position are experimental [E0658]
24-
//~| ERROR `let` expressions are not supported here
2522

2623
if let 0 = 1 && true {}
2724
//~^ ERROR `let` expressions in this position are experimental [E0658]
28-
//~| ERROR `let` expressions are not supported here
2925

3026
if (let 0 = 1) && true {}
3127
//~^ ERROR `let` expressions in this position are experimental [E0658]
32-
//~| ERROR `let` expressions are not supported here
3328

3429
if true && (let 0 = 1) {}
3530
//~^ ERROR `let` expressions in this position are experimental [E0658]
36-
//~| ERROR `let` expressions are not supported here
3731

3832
if (let 0 = 1) && (let 0 = 1) {}
3933
//~^ ERROR `let` expressions in this position are experimental [E0658]
4034
//~| ERROR `let` expressions in this position are experimental [E0658]
41-
//~| ERROR `let` expressions are not supported here
42-
//~| ERROR `let` expressions are not supported here
4335

4436
if let 0 = 1 && let 1 = 2 && (let 2 = 3 && let 3 = 4 && let 4 = 5) {}
4537
//~^ ERROR `let` expressions in this position are experimental [E0658]
4638
//~| ERROR `let` expressions in this position are experimental [E0658]
4739
//~| ERROR `let` expressions in this position are experimental [E0658]
4840
//~| ERROR `let` expressions in this position are experimental [E0658]
4941
//~| ERROR `let` expressions in this position are experimental [E0658]
50-
//~| ERROR `let` expressions are not supported here
51-
//~| ERROR `let` expressions are not supported here
52-
//~| ERROR `let` expressions are not supported here
53-
//~| ERROR `let` expressions are not supported here
54-
//~| ERROR `let` expressions are not supported here
5542

5643
if let Range { start: _, end: _ } = (true..true) && false {}
5744
//~^ ERROR `let` expressions in this position are experimental [E0658]
58-
//~| ERROR `let` expressions are not supported here
5945
}
6046

6147
fn _while() {
6248
while let 0 = 1 {} // Stable!
6349

6450
while (let 0 = 1) {}
6551
//~^ ERROR `let` expressions in this position are experimental [E0658]
66-
//~| ERROR `let` expressions are not supported here
6752

6853
while (((let 0 = 1))) {}
6954
//~^ ERROR `let` expressions in this position are experimental [E0658]
70-
//~| ERROR `let` expressions are not supported here
7155

7256
while true && let 0 = 1 {}
7357
//~^ ERROR `let` expressions in this position are experimental [E0658]
74-
//~| ERROR `let` expressions are not supported here
7558

7659
while let 0 = 1 && true {}
7760
//~^ ERROR `let` expressions in this position are experimental [E0658]
78-
//~| ERROR `let` expressions are not supported here
7961

8062
while (let 0 = 1) && true {}
8163
//~^ ERROR `let` expressions in this position are experimental [E0658]
82-
//~| ERROR `let` expressions are not supported here
8364

8465
while true && (let 0 = 1) {}
8566
//~^ ERROR `let` expressions in this position are experimental [E0658]
86-
//~| ERROR `let` expressions are not supported here
8767

8868
while (let 0 = 1) && (let 0 = 1) {}
8969
//~^ ERROR `let` expressions in this position are experimental [E0658]
9070
//~| ERROR `let` expressions in this position are experimental [E0658]
91-
//~| ERROR `let` expressions are not supported here
92-
//~| ERROR `let` expressions are not supported here
9371

9472
while let 0 = 1 && let 1 = 2 && (let 2 = 3 && let 3 = 4 && let 4 = 5) {}
9573
//~^ ERROR `let` expressions in this position are experimental [E0658]
9674
//~| ERROR `let` expressions in this position are experimental [E0658]
9775
//~| ERROR `let` expressions in this position are experimental [E0658]
9876
//~| ERROR `let` expressions in this position are experimental [E0658]
9977
//~| ERROR `let` expressions in this position are experimental [E0658]
100-
//~| ERROR `let` expressions are not supported here
101-
//~| ERROR `let` expressions are not supported here
102-
//~| ERROR `let` expressions are not supported here
103-
//~| ERROR `let` expressions are not supported here
104-
//~| ERROR `let` expressions are not supported here
10578

10679
while let Range { start: _, end: _ } = (true..true) && false {}
10780
//~^ ERROR `let` expressions in this position are experimental [E0658]
108-
//~| ERROR `let` expressions are not supported here
10981
}
11082

11183
fn _macros() {
112-
macro_rules! noop_expr { ($e:expr) => {}; }
84+
macro_rules! noop_expr {
85+
($e:expr) => {};
86+
}
11387

11488
noop_expr!((let 0 = 1));
11589
//~^ ERROR `let` expressions in this position are experimental [E0658]
@@ -118,16 +92,12 @@ fn _macros() {
11892
($e:expr) => {
11993
if $e {}
12094
while $e {}
121-
}
95+
};
12296
}
12397
use_expr!((let 0 = 1 && 0 == 0));
12498
//~^ ERROR `let` expressions in this position are experimental [E0658]
125-
//~| ERROR `let` expressions are not supported here
126-
//~| ERROR `let` expressions are not supported here
12799
use_expr!((let 0 = 1));
128100
//~^ ERROR `let` expressions in this position are experimental [E0658]
129-
//~| ERROR `let` expressions are not supported here
130-
//~| ERROR `let` expressions are not supported here
131101
#[cfg(FALSE)] (let 0 = 1);
132102
//~^ ERROR `let` expressions in this position are experimental [E0658]
133103
use_expr!(let 0 = 1);

0 commit comments

Comments
 (0)