aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_parser/src/grammar/patterns.rs
diff options
context:
space:
mode:
authorcsmoe <[email protected]>2019-06-18 16:50:57 +0100
committercsmoe <[email protected]>2019-06-19 07:28:50 +0100
commitd6533994e461dac502672c77ff27c6ca08fdc092 (patch)
tree70c83566743f087a987f09f0d64f293ac6fda0d6 /crates/ra_parser/src/grammar/patterns.rs
parent5999733ca60e37c54d761b0a669e154b97b121b1 (diff)
fix: box_pattern
Change-Id: I45a856d74fb616d3bce33050f9e69d327186bd59
Diffstat (limited to 'crates/ra_parser/src/grammar/patterns.rs')
-rw-r--r--crates/ra_parser/src/grammar/patterns.rs3
1 files changed, 3 insertions, 0 deletions
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<CompletedMarker> {
60 let la1 = p.nth(1); 60 let la1 = p.nth(1);
61 if la0 == T![ref] 61 if la0 == T![ref]
62 || la0 == T![mut] 62 || la0 == T![mut]
63 || la0 == T![box]
63 || (la0 == IDENT && !(la1 == T![::] || la1 == T!['('] || la1 == T!['{'] || la1 == T![!])) 64 || (la0 == IDENT && !(la1 == T![::] || la1 == T!['('] || la1 == T!['{'] || la1 == T![!]))
64 { 65 {
65 return Some(bind_pat(p, true)); 66 return Some(bind_pat(p, true));
@@ -260,9 +261,11 @@ fn pat_list(p: &mut Parser, ket: SyntaxKind) {
260// let ref mut d = (); 261// let ref mut d = ();
261// let e @ _ = (); 262// let e @ _ = ();
262// let ref mut f @ g @ _ = (); 263// let ref mut f @ g @ _ = ();
264// let box i = Box::new(1i32);
263// } 265// }
264fn bind_pat(p: &mut Parser, with_at: bool) -> CompletedMarker { 266fn bind_pat(p: &mut Parser, with_at: bool) -> CompletedMarker {
265 let m = p.start(); 267 let m = p.start();
268 p.eat(T![box]);
266 p.eat(T![ref]); 269 p.eat(T![ref]);
267 p.eat(T![mut]); 270 p.eat(T![mut]);
268 name(p); 271 name(p);