]> git.proxmox.com Git - rustc.git/blame - src/test/ui/rfc-2497-if-let-chains/ensure-that-let-else-does-not-interact-with-let-chains.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / src / test / ui / rfc-2497-if-let-chains / ensure-that-let-else-does-not-interact-with-let-chains.rs
CommitLineData
5e7ed085
FG
1#![feature(let_chains, let_else)]
2
3fn main() {
4 let opt = Some(1i32);
5
6 let Some(n) = opt else {
7 return;
8 };
9 let Some(n) = opt && n == 1 else {
10 //~^ ERROR a `&&` expression cannot be directly assigned in `let...else`
11 //~| ERROR mismatched types
12 //~| ERROR mismatched types
13 return;
14 };
15 let Some(n) = opt && let another = n else {
16 //~^ ERROR a `&&` expression cannot be directly assigned in `let...else`
17 //~| ERROR `let` expressions are not supported here
18 //~| ERROR mismatched types
19 //~| ERROR mismatched types
20 return;
21 };
22
23 if let Some(n) = opt else {
923072b8 24 //~^ ERROR this `if` expression is missing a block after the condition
5e7ed085
FG
25 return;
26 };
27 if let Some(n) = opt && n == 1 else {
923072b8 28 //~^ ERROR this `if` expression is missing a block after the condition
5e7ed085
FG
29 return;
30 };
31 if let Some(n) = opt && let another = n else {
923072b8 32 //~^ ERROR this `if` expression is missing a block after the condition
5e7ed085
FG
33 return;
34 };
35
36 {
37 while let Some(n) = opt else {
38 //~^ ERROR expected `{`, found keyword `else`
39 return;
40 };
41 }
42 {
43 while let Some(n) = opt && n == 1 else {
44 //~^ ERROR expected `{`, found keyword `else`
45 return;
46 };
47 }
48 {
49 while let Some(n) = opt && let another = n else {
50 //~^ ERROR expected `{`, found keyword `else`
51 return;
52 };
53 }
54}