Commit Graph

104624 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
b9aba749cf improve robustness of pat walkers 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
5a8baa2876 refactor with extract_binding_mode 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
eed311f719 add check_borrow_conflicts_in_at_patterns analysis 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
6a87f99620 check_legality_of_move_bindings: generalize diagnostics & add comments 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
25b6a28a51 add a fixme 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
5f92a56ed6 Introduce #![feature(bindings_after_at)].
Under the gate, `x @ Some(y)` is allowed.
This is subject to various restrictions for soundness.
2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
7a246acf0a fix rebase fallout 2019-12-23 14:08:50 +01:00
Donough Liu
587d03bea8 Yield is an expression form, not a statement. 2019-12-23 21:07:13 +08:00
Donough Liu
1485c16899 Add long error code explanation message for E0627 2019-12-23 21:05:02 +08:00
Mazdak Farrokhzad
05c26a445b refactor assoc op parsing 2019-12-23 13:55:45 +01:00
Mazdak Farrokhzad
e43a7ef1d4 simplify parse_prefix_range_expr 2019-12-23 13:55:10 +01:00
Mazdak Farrokhzad
8456c403e1 extract parse_not_expr 2019-12-23 13:55:04 +01:00
Mazdak Farrokhzad
efdea63c43 extract parse_prefix_expr 2019-12-23 13:51:21 +01:00
Mazdak Farrokhzad
4cfcfe9e20 extract parse_neg_expr 2019-12-23 13:51:02 +01:00
Mazdak Farrokhzad
f6ab439436 extract parse_deref_expr 2019-12-23 13:50:56 +01:00
Mazdak Farrokhzad
ada388b2b8 extract is_mistaken_not_ident_negation 2019-12-23 13:50:50 +01:00
Mazdak Farrokhzad
80eeefb05f extract recover_not_expr 2019-12-23 13:49:14 +01:00
Mazdak Farrokhzad
00cc8a1b0c simplify parse_assoc_op_cast 2019-12-23 13:48:47 +01:00
Mazdak Farrokhzad
84f9bf1a06 refactor parse_address_of -> parse_borrow_expr 2019-12-23 13:48:45 +01:00
Mazdak Farrokhzad
af5ac23a23 simplify parse_dot_call_or_expr 2019-12-23 13:47:52 +01:00
Mazdak Farrokhzad
7ae12c9385 extract parse_dot_base_expr 2019-12-23 13:47:44 +01:00
Mazdak Farrokhzad
bc95228f1b extract parse_dot_suffix_expr 2019-12-23 13:45:45 +01:00
Mazdak Farrokhzad
9c6bbf1252 extract error_unexpected_after_dot and de-fatalize 2019-12-23 13:45:13 +01:00
Mazdak Farrokhzad
ff5762b78a extract recover_field_access_by_float_lit 2019-12-23 13:44:38 +01:00
Mazdak Farrokhzad
a15d0cde57 extract parse_tuple_field_access_expr 2019-12-23 13:44:12 +01:00
Mazdak Farrokhzad
287ba5d0c8 extract parse_fn_call_expr 2019-12-23 13:44:06 +01:00
Mazdak Farrokhzad
98701b2c61 extract parse_index_expr & refactor parse_dot_suffix 2019-12-23 13:44:02 +01:00
Mazdak Farrokhzad
0bb3dad5a6 extract error_float_lits-must_have_int_part 2019-12-23 13:43:35 +01:00
Mazdak Farrokhzad
aa8adba8fb simplify parse_literal_maybe_minus 2019-12-23 13:43:28 +01:00
Mazdak Farrokhzad
f647c11121 simplify parse_fn_block_decl 2019-12-23 13:43:21 +01:00
Mazdak Farrokhzad
ad6f91a422 refactor parse_fn_block_param 2019-12-23 13:42:55 +01:00
Mazdak Farrokhzad
7bcc325034 refactor parse_if_expr 2019-12-23 13:42:49 +01:00
Mazdak Farrokhzad
44ff4df49d more recovery in if-parsing 2019-12-23 13:42:25 +01:00
Mazdak Farrokhzad
7262dcc4a7 refactor loop parsing a bit 2019-12-23 13:42:21 +01:00
Mazdak Farrokhzad
de2e443bc6 make parse_async_block conventional 2019-12-23 13:41:59 +01:00
Mazdak Farrokhzad
f6e2bdc341 extract is_certainly_not_a_block 2019-12-23 13:41:55 +01:00
varkor
9e5081394c Fix reformatting rebase issues 2019-12-23 12:39:48 +00:00
Mazdak Farrokhzad
66b8ae4bce extract error_struct_lit_not_allowed_here 2019-12-23 13:34:06 +01:00
Mazdak Farrokhzad
701b974eb9 extract find_struct_error_after_field_looking_code 2019-12-23 13:32:55 +01:00
Mazdak Farrokhzad
8480b31ba9 extract recover_struct_comma_after_dotdot 2019-12-23 13:27:44 +01:00
Mazdak Farrokhzad
e77b9d36ca refactor parse_field 2019-12-23 13:27:44 +01:00
Mazdak Farrokhzad
4bb83468a2 is_range_literal: leave FIXME 2019-12-23 13:11:15 +01:00
Mazdak Farrokhzad
dd7f49301e is_range_literal: fix fallout 2019-12-23 13:11:10 +01:00
varkor
9a602243c4 Add new folder for destructuring assignment tests 2019-12-23 11:20:13 +00:00
varkor
35979a92bf Add span information to ExprKind::Assign 2019-12-23 11:20:13 +00:00
varkor
5ab4735559 Recognise nested tuples/arrays/structs 2019-12-23 11:17:55 +00:00
varkor
5fa02ecc29 Add note about destructuring assignments 2019-12-23 11:17:55 +00:00
varkor
b7bfdbe681 Improve invalid assignment error 2019-12-23 11:16:51 +00:00
varkor
a5991c57cf Add the full issue reference to equality constraints in where clauses 2019-12-23 11:15:55 +00:00
Mazdak Farrokhzad
45acee3090 Move {hir::lowering -> hir}::is_range_literal.
The function is never used inside lowering,
but only ever in external crates.

By moving it, we faciliate lowering as its own crate.
2019-12-23 12:03:22 +01:00