104157 Commits

Author SHA1 Message Date
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
Mazdak Farrokhzad
cdca5cfbfd parser: extract error_outer_attrs 2019-12-20 22:41:28 +01:00
Mazdak Farrokhzad
467c86f4cb parse_stmt_without_recovery: readability! 2019-12-20 22:41:28 +01:00
Mazdak Farrokhzad
74d9c4b312 parse_stmt_mac: add a comment 2019-12-20 22:41:28 +01:00
Mazdak Farrokhzad
2ddea30178 extract suggest_slice_pat 2019-12-20 22:41:28 +01:00
Mazdak Farrokhzad
c54c9ef863 parser: early return for item stmt 2019-12-20 22:41:28 +01:00
Mazdak Farrokhzad
690815b70e inline parse_stmt_ into parse_stmt 2019-12-20 22:41:28 +01:00
Mazdak Farrokhzad
b75a93afac extract parse_sttmt_mac 2019-12-20 22:41:28 +01:00
Mazdak Farrokhzad
666ff8fd00 reduce repetition in stmt parsing 2019-12-20 22:41:28 +01:00
Mazdak Farrokhzad
f465f95b4b
Rollup merge of #67428 - Centril:ibp-explicit-match, r=matthewjasper
`is_binding_pat`: use explicit match & include or-pats in grammar

r? @matthewjasper @nikomatsakis
2019-12-20 22:05:36 +01:00
Mazdak Farrokhzad
eaee9d11ee
Rollup merge of #67404 - mark-i-m:split-1, r=matthewjasper
Separate region inference logic from error handling better

Split out from #67241

r? @matthewjasper
2019-12-20 22:05:35 +01:00
Mazdak Farrokhzad
d7dc3502f9
Rollup merge of #67392 - csmoe:async-typeinfo, r=estebank
Fix unresolved type span inside async object

Closes #65180
r? @estebank
It's hard to create a minimal repro for that issue, [decided](https://rust-lang.zulipchat.com/#narrow/stream/187312-wg-async-foundations/topic/meeting.202019.2E12.2E17/near/183675659) to give up finding mcve.
cc [previous take](https://github.com/rust-lang/rust/pull/65668)
2019-12-20 22:05:33 +01:00