From d6533994e461dac502672c77ff27c6ca08fdc092 Mon Sep 17 00:00:00 2001 From: csmoe Date: Tue, 18 Jun 2019 23:50:57 +0800 Subject: fix: box_pattern Change-Id: I45a856d74fb616d3bce33050f9e69d327186bd59 --- crates/ra_parser/src/grammar/patterns.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'crates/ra_parser/src/grammar/patterns.rs') diff --git a/crates/ra_parser/src/grammar/patterns.rs b/crates/ra_parser/src/grammar/patterns.rs index 16ae9da63..46034942a 100644 --- a/crates/ra_parser/src/grammar/patterns.rs +++ b/crates/ra_parser/src/grammar/patterns.rs @@ -60,6 +60,7 @@ fn atom_pat(p: &mut Parser, recovery_set: TokenSet) -> Option { let la1 = p.nth(1); if la0 == T![ref] || la0 == T![mut] + || la0 == T![box] || (la0 == IDENT && !(la1 == T![::] || la1 == T!['('] || la1 == T!['{'] || la1 == T![!])) { return Some(bind_pat(p, true)); @@ -260,9 +261,11 @@ fn pat_list(p: &mut Parser, ket: SyntaxKind) { // let ref mut d = (); // let e @ _ = (); // let ref mut f @ g @ _ = (); +// let box i = Box::new(1i32); // } fn bind_pat(p: &mut Parser, with_at: bool) -> CompletedMarker { let m = p.start(); + p.eat(T![box]); p.eat(T![ref]); p.eat(T![mut]); name(p); -- cgit v1.2.3