-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Commit 64a99db
Auto merge of #145582 - estebank:issue-107806, r=chenyukang
Detect missing `if let` or `let-else`
During `let` binding parse error and encountering a block, detect if there is a likely missing `if` or `else`:
```
error: expected one of `.`, `;`, `?`, `else`, or an operator, found `{`
--> $DIR/missing-if-let-or-let-else.rs:14:25
|
LL | let Some(x) = foo() {
| ^ expected one of `.`, `;`, `?`, `else`, or an operator
|
help: you might have meant to use `if let`
|
LL | if let Some(x) = foo() {
| ++
help: alternatively, you might have meant to use `let else`
|
LL | let Some(x) = foo() else {
| ++++
```
Fix #107806.File tree
4 files changed
+160
-0
lines changed- compiler/rustc_parse/src
- parser
- tests/ui/uninhabited
4 files changed
+160
-0
lines changedLines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
6 | 6 |
| |
7 | 7 |
| |
8 | 8 |
| |
9 | + | ||
9 | 10 |
| |
10 | 11 |
| |
11 | 12 |
| |
|
Lines changed: 96 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
6 | 6 |
| |
7 | 7 |
| |
8 | 8 |
| |
9 | + | ||
9 | 10 |
| |
10 | 11 |
| |
11 | 12 |
| |
| |||
783 | 784 |
| |
784 | 785 |
| |
785 | 786 |
| |
787 | + | ||
788 | + | ||
789 | + | ||
790 | + | ||
791 | + | ||
792 | + | ||
793 | + | ||
794 | + | ||
795 | + | ||
796 | + | ||
797 | + | ||
798 | + | ||
799 | + | ||
800 | + | ||
801 | + | ||
802 | + | ||
803 | + | ||
804 | + | ||
805 | + | ||
806 | + | ||
807 | + | ||
808 | + | ||
809 | + | ||
810 | + | ||
811 | + | ||
812 | + | ||
813 | + | ||
814 | + | ||
815 | + | ||
816 | + | ||
817 | + | ||
818 | + | ||
819 | + | ||
820 | + | ||
821 | + | ||
822 | + | ||
823 | + | ||
824 | + | ||
825 | + | ||
826 | + | ||
827 | + | ||
828 | + | ||
829 | + | ||
830 | + | ||
831 | + | ||
832 | + | ||
833 | + | ||
834 | + | ||
835 | + | ||
836 | + | ||
837 | + | ||
838 | + | ||
839 | + | ||
840 | + | ||
841 | + | ||
842 | + | ||
843 | + | ||
844 | + | ||
845 | + | ||
846 | + | ||
847 | + | ||
848 | + | ||
849 | + | ||
850 | + | ||
851 | + | ||
852 | + | ||
853 | + | ||
854 | + | ||
855 | + | ||
856 | + | ||
857 | + | ||
858 | + | ||
859 | + | ||
860 | + | ||
861 | + | ||
862 | + | ||
863 | + | ||
864 | + | ||
865 | + | ||
866 | + | ||
867 | + | ||
868 | + | ||
869 | + | ||
870 | + | ||
871 | + | ||
872 | + | ||
873 | + | ||
874 | + | ||
875 | + | ||
876 | + | ||
877 | + | ||
878 | + | ||
879 | + | ||
880 | + | ||
786 | 881 |
| |
787 | 882 |
| |
788 | 883 |
| |
| |||
977 | 1072 |
| |
978 | 1073 |
| |
979 | 1074 |
| |
1075 | + | ||
980 | 1076 |
| |
981 | 1077 |
| |
982 | 1078 |
| |
|
Lines changed: 24 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | + | ||
2 | + | ||
3 | + | ||
4 | + | ||
5 | + | ||
6 | + | ||
7 | + | ||
8 | + | ||
9 | + | ||
10 | + | ||
11 | + | ||
12 | + | ||
13 | + | ||
14 | + | ||
15 | + | ||
16 | + | ||
17 | + | ||
18 | + | ||
19 | + | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | + | ||
24 | + |
Lines changed: 39 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | + | ||
2 | + | ||
3 | + | ||
4 | + | ||
5 | + | ||
6 | + | ||
7 | + | ||
8 | + | ||
9 | + | ||
10 | + | ||
11 | + | ||
12 | + | ||
13 | + | ||
14 | + | ||
15 | + | ||
16 | + | ||
17 | + | ||
18 | + | ||
19 | + | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | + | ||
24 | + | ||
25 | + | ||
26 | + | ||
27 | + | ||
28 | + | ||
29 | + | ||
30 | + | ||
31 | + | ||
32 | + | ||
33 | + | ||
34 | + | ||
35 | + | ||
36 | + | ||
37 | + | ||
38 | + | ||
39 | + |
0 commit comments