Commit c64eecf
committed
Auto merge of #66994 - Centril:stmt-polish, r=estebank
refactor expr & stmt parsing + improve recovery
Summary of important changes (best read commit-by-commit, ignoring whitespace changes):
- `AttrVec` is introduces as an alias for `ThinVec<Attribute>`
- `parse_expr_bottom` and `parse_stmt` are thoroughly refactored.
- Extract diagnostics logic for `vec![...]` in a pattern context.
- Recovery is added for `do catch { ... }`
- Recovery is added for `'label: non_block_expr`
- Recovery is added for `var $local`, `auto $local`, and `mut $local`. Fixes #65257.
- Recovery is added for `e1 and e2` and `e1 or e2`.
- ~~`macro_legacy_warnings` is turned into an error (has been a warning for 3 years!)~~
- Fixes #63396 by forward-porting #64105 which now works thanks to added recovery.
- `ui-fulldeps/ast_stmt_expr_attr.rs` is turned into UI and pretty tests.
- Recovery is fixed for `#[attr] if expr {}`
r? @estebankFile tree
47 files changed
+1764
-1187
lines changed- src
- librustc_interface
- librustc_parse
- parser
- librustc/hir
- lowering
- libsyntax_expand
- mbe
- libsyntax_ext
- deriving
- generic
- libsyntax_pos
- libsyntax
- attr
- test
- pretty
- ui-fulldeps
- ui
- did_you_mean
- parser
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
47 files changed
+1764
-1187
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
57 | 56 | | |
58 | 57 | | |
59 | 58 | | |
| |||
1205 | 1204 | | |
1206 | 1205 | | |
1207 | 1206 | | |
1208 | | - | |
| 1207 | + | |
1209 | 1208 | | |
1210 | 1209 | | |
1211 | 1210 | | |
| |||
2751 | 2750 | | |
2752 | 2751 | | |
2753 | 2752 | | |
2754 | | - | |
| 2753 | + | |
2755 | 2754 | | |
2756 | 2755 | | |
2757 | 2756 | | |
| |||
3102 | 3101 | | |
3103 | 3102 | | |
3104 | 3103 | | |
3105 | | - | |
| 3104 | + | |
3106 | 3105 | | |
3107 | 3106 | | |
3108 | 3107 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1318 | 1318 | | |
1319 | 1319 | | |
1320 | 1320 | | |
1321 | | - | |
1322 | | - | |
| 1321 | + | |
1323 | 1322 | | |
1324 | 1323 | | |
1325 | 1324 | | |
| |||
1333 | 1332 | | |
1334 | 1333 | | |
1335 | 1334 | | |
1336 | | - | |
| 1335 | + | |
1337 | 1336 | | |
1338 | 1337 | | |
1339 | 1338 | | |
| |||
1404 | 1403 | | |
1405 | 1404 | | |
1406 | 1405 | | |
1407 | | - | |
| 1406 | + | |
1408 | 1407 | | |
1409 | 1408 | | |
1410 | 1409 | | |
| |||
1423 | 1422 | | |
1424 | 1423 | | |
1425 | 1424 | | |
1426 | | - | |
| 1425 | + | |
1427 | 1426 | | |
1428 | 1427 | | |
1429 | 1428 | | |
| |||
1459 | 1458 | | |
1460 | 1459 | | |
1461 | 1460 | | |
1462 | | - | |
| 1461 | + | |
1463 | 1462 | | |
1464 | 1463 | | |
1465 | 1464 | | |
1466 | | - | |
1467 | | - | |
1468 | | - | |
1469 | | - | |
1470 | | - | |
1471 | | - | |
| 1465 | + | |
1472 | 1466 | | |
1473 | 1467 | | |
1474 | 1468 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
15 | 14 | | |
16 | 15 | | |
17 | 16 | | |
| |||
899 | 898 | | |
900 | 899 | | |
901 | 900 | | |
902 | | - | |
| 901 | + | |
903 | 902 | | |
904 | 903 | | |
905 | 904 | | |
| |||
1182 | 1181 | | |
1183 | 1182 | | |
1184 | 1183 | | |
1185 | | - | |
| 1184 | + | |
1186 | 1185 | | |
1187 | 1186 | | |
1188 | 1187 | | |
| |||
1226 | 1225 | | |
1227 | 1226 | | |
1228 | 1227 | | |
1229 | | - | |
| 1228 | + | |
1230 | 1229 | | |
1231 | 1230 | | |
1232 | 1231 | | |
| |||
1271 | 1270 | | |
1272 | 1271 | | |
1273 | 1272 | | |
1274 | | - | |
| 1273 | + | |
1275 | 1274 | | |
1276 | 1275 | | |
1277 | 1276 | | |
| |||
1288 | 1287 | | |
1289 | 1288 | | |
1290 | 1289 | | |
1291 | | - | |
| 1290 | + | |
1292 | 1291 | | |
1293 | | - | |
| 1292 | + | |
1294 | 1293 | | |
1295 | 1294 | | |
1296 | 1295 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
| |||
1274 | 1273 | | |
1275 | 1274 | | |
1276 | 1275 | | |
1277 | | - | |
| 1276 | + | |
1278 | 1277 | | |
1279 | 1278 | | |
1280 | 1279 | | |
| |||
1459 | 1458 | | |
1460 | 1459 | | |
1461 | 1460 | | |
1462 | | - | |
| 1461 | + | |
1463 | 1462 | | |
1464 | 1463 | | |
1465 | 1464 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | 13 | | |
15 | 14 | | |
16 | 15 | | |
| |||
24 | 23 | | |
25 | 24 | | |
26 | 25 | | |
27 | | - | |
| 26 | + | |
28 | 27 | | |
29 | 28 | | |
30 | 29 | | |
| |||
741 | 740 | | |
742 | 741 | | |
743 | 742 | | |
744 | | - | |
| 743 | + | |
745 | 744 | | |
746 | 745 | | |
747 | 746 | | |
| |||
756 | 755 | | |
757 | 756 | | |
758 | 757 | | |
759 | | - | |
| 758 | + | |
760 | 759 | | |
761 | 760 | | |
762 | 761 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
304 | | - | |
305 | | - | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
306 | 308 | | |
307 | 309 | | |
308 | 310 | | |
| |||
311 | 313 | | |
312 | 314 | | |
313 | 315 | | |
314 | | - | |
315 | | - | |
316 | | - | |
| 316 | + | |
317 | 317 | | |
318 | 318 | | |
319 | 319 | | |
320 | 320 | | |
321 | | - | |
322 | | - | |
323 | | - | |
| 321 | + | |
324 | 322 | | |
325 | 323 | | |
326 | 324 | | |
327 | 325 | | |
328 | 326 | | |
329 | 327 | | |
330 | 328 | | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | | - | |
335 | | - | |
336 | | - | |
337 | | - | |
338 | 329 | | |
0 commit comments