Commit Graph

104168 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
4625ba4872 simplify 'let question = ...;' 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
f215ca9be6 simplify negative bound diagnostic 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
4b073a1f4a extract parse_generic_lt_bound 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
50e00c73ee extract parse_generic_ty_bound 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
1cfeb56773 parse_generic_bound: leave a FIXME 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
18e5b2f98c functionalize parse_generic_bound 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
8a9a992a64 extract parse_generic_bound 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
fd89104966 extract can_begin_bound 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
e61cb44f2f parse_generic_bounds_common: dedent 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
a11252ae26 extract recover_paren_lifetime 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
b484faefab extract error_opt_out_lifetime 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
3f499a97e4 parser/ty.rs: minor formatting tweaks 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
3b1fab8c1f parse_ty_common: .fatal -> .struct_span_err 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
6f1f6a6c33 extract error_illegal_c_variadic_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
85d3ed9c90 extract parse_path_start_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
b7071f2bc0 extract parse_dyn_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
edb7b96c84 extract parse_impl_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
e08886d251 extract parse_typeof_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
211560d05c extract parse_array_or_slice_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
3838b602f5 parse_ptr -> parse_ty_ptr & refactor 2019-12-21 18:34:00 +01:00
Mazdak Farrokhzad
c67c30dba6 refactor parse_ty_tuple_or_parens 2019-12-21 18:34:00 +01:00
Mazdak Farrokhzad
f3ef4a416d extract parse_ty_tuple_or_parens 2019-12-21 18:34:00 +01:00
bors
c64eecf4d0 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? @estebank
2019-12-21 11:05:03 +00:00
bors
9ff30a7810 Auto merge of #67464 - Centril:rollup-j3mkl1m, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #67130 (Const prop should finish propagation into user defined variables)
 - #67163 (Split up ptr/mod.rs in libcore...)
 - #67314 (Don't suppress move errors for union fields)
 - #67392 (Fix unresolved type span inside async object)
 - #67404 (Separate region inference logic from error handling better)
 - #67428 (`is_binding_pat`: use explicit match & include or-pats in grammar)

Failed merges:

r? @ghost
2019-12-21 01:02:54 +00:00
Mazdak Farrokhzad
621661f8a6 tweak var/auto/mut recovery 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
49826845a9 use .span_suggestion_short for && 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
19db2d2fed ast_stmt_expr_attr -> pretty & ui tests 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
9b53c5be06 fix bug in parse_tuple_parens_expr + related refactoring 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
66470d3217 recover #[attr] if expr {} 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
c9e1f13f6e recover on 'mut', 'var', 'auto' 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
a0d20935cc introduce 'type AttrVec' 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
3d5dbcb44a simplify parse_bottom_expr more 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
948ff674f9 use mk_expr_err more 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
4311a4d7f9 extract parse_lit_expr and simplify 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
e9a4d94c44 extract parse_break_expr 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
a3c0ef1a8b refactor parse_incorrect_await_syntax 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
2f9b191886 extract parse_{expr_opt, return_expr, yield_expr} 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
327641e35c recover on 'do catch { .. }' 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
32ac9d0e45 pass attr as param in new methods 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
4e01b70964 add recovery to parse_labeled_expr 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
3ed5ba7fa8 extract parse_labeled_expr 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
5f0f86b6ca extract parse_path_start_expr 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
cb985ba60f extract parse_array_or_repeat_expr 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
9cb2b08a5d extract parse_tuple_parens_expr 2019-12-20 22:41:29 +01:00
A C
0c32ee1781 Clean up parse_bottom_expr 2019-12-20 22:41:29 +01:00
A C
0b7908c550 Add a UI test for correct parsing 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
dd15904a4d parse_bottom_expr: use else if 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
52acaa6974 implement recovery in check_assoc_op 2019-12-20 22:41:28 +01:00
Mazdak Farrokhzad
903c9dfd18 extract should_continue_as_assoc_expr 2019-12-20 22:41:28 +01:00
Mazdak Farrokhzad
be463cbc2b extract: error_block_no_opening_brace 2019-12-20 22:41:28 +01:00