diff options
Diffstat (limited to 'crates/ra_parser/src/grammar')
-rw-r--r-- | crates/ra_parser/src/grammar/expressions/atom.rs | 10 |
1 files changed, 10 insertions, 0 deletions
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<Marker>) -> CompletedMarker { | |||
281 | 281 | ||
282 | // test cond | 282 | // test cond |
283 | // fn foo() { if let Some(_) = None {} } | 283 | // fn foo() { if let Some(_) = None {} } |
284 | // fn bar() { | ||
285 | // if let Some(_) | Some(_) = None {} | ||
286 | // if let | Some(_) = None {} | ||
287 | // while let Some(_) | Some(_) = None {} | ||
288 | // while let | Some(_) = None {} | ||
289 | // } | ||
284 | fn cond(p: &mut Parser) { | 290 | fn cond(p: &mut Parser) { |
285 | let m = p.start(); | 291 | let m = p.start(); |
286 | if p.eat(LET_KW) { | 292 | if p.eat(LET_KW) { |
293 | p.eat(PIPE); | ||
287 | patterns::pattern(p); | 294 | patterns::pattern(p); |
295 | while p.eat(PIPE) { | ||
296 | patterns::pattern(p); | ||
297 | } | ||
288 | p.expect(EQ); | 298 | p.expect(EQ); |
289 | } | 299 | } |
290 | expr_no_struct(p); | 300 | expr_no_struct(p); |