From 1f4468a8dae10db4f500bde3c1708228de6137b6 Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Mon, 4 Mar 2019 19:10:14 +0200 Subject: Add support for parsing multiple if and while-let patterns --- crates/ra_parser/src/grammar/expressions/atom.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'crates/ra_parser/src/grammar/expressions/atom.rs') diff --git a/crates/ra_parser/src/grammar/expressions/atom.rs b/crates/ra_parser/src/grammar/expressions/atom.rs index e74305b6a..dfa391632 100644 --- a/crates/ra_parser/src/grammar/expressions/atom.rs +++ b/crates/ra_parser/src/grammar/expressions/atom.rs @@ -281,10 +281,20 @@ fn for_expr(p: &mut Parser, m: Option) -> CompletedMarker { // test cond // fn foo() { if let Some(_) = None {} } +// fn bar() { +// if let Some(_) | Some(_) = None {} +// if let | Some(_) = None {} +// while let Some(_) | Some(_) = None {} +// while let | Some(_) = None {} +// } fn cond(p: &mut Parser) { let m = p.start(); if p.eat(LET_KW) { + p.eat(PIPE); patterns::pattern(p); + while p.eat(PIPE) { + patterns::pattern(p); + } p.expect(EQ); } expr_no_struct(p); -- cgit v1.2.3