diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2019-08-22 20:58:35 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2019-08-22 20:58:35 +0100 |
commit | daf1a96ff07d7b6e7ae3e2878b300058091bbf6e (patch) | |
tree | 3419abf3750aefc3d36d143a663f265714fa2a4f /crates/ra_parser/src/grammar/expressions | |
parent | 08e5d394dfbca28b15ed5dc772d55d48f87c3f54 (diff) | |
parent | 3e14b16c4d67e6a87e21424dd56732b511724e04 (diff) |
Merge #1722
1722: Parse `box` keyword in patterns below top-level r=matklad a=ecstatic-morse
This extends the parser to handle patterns like `if let Some(box x) = ...` where the `box` keyword is not at the top-level. The last line of the added test caused a `ParseError`. This is a variant of #1412 which was not fixed by #1414.
~~I'm not familiar with `rust-analyzer`, otherwise I would fix this as well :smile:.~~
Co-authored-by: Dylan MacKenzie <[email protected]>
Diffstat (limited to 'crates/ra_parser/src/grammar/expressions')
-rw-r--r-- | crates/ra_parser/src/grammar/expressions/atom.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/crates/ra_parser/src/grammar/expressions/atom.rs b/crates/ra_parser/src/grammar/expressions/atom.rs index bc942ae01..ab8fb9f6e 100644 --- a/crates/ra_parser/src/grammar/expressions/atom.rs +++ b/crates/ra_parser/src/grammar/expressions/atom.rs | |||
@@ -414,6 +414,8 @@ pub(crate) fn match_arm_list(p: &mut Parser) { | |||
414 | // X | Y if Z => (), | 414 | // X | Y if Z => (), |
415 | // | X | Y if Z => (), | 415 | // | X | Y if Z => (), |
416 | // | X => (), | 416 | // | X => (), |
417 | // box X => (), | ||
418 | // Some(box X) => (), | ||
417 | // }; | 419 | // }; |
418 | // } | 420 | // } |
419 | fn match_arm(p: &mut Parser) -> BlockLike { | 421 | fn match_arm(p: &mut Parser) -> BlockLike { |