aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax
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_syntax
parent5999733ca60e37c54d761b0a669e154b97b121b1 (diff)
fix: box_pattern
Change-Id: I45a856d74fb616d3bce33050f9e69d327186bd59
Diffstat (limited to 'crates/ra_syntax')
-rw-r--r--crates/ra_syntax/src/grammar.ron2
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.rs1
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.txt41
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0132_box_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/ok/0132_box_syntax.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0132_box_expr.txt31
5 files changed, 69 insertions, 6 deletions
diff --git a/crates/ra_syntax/src/grammar.ron b/crates/ra_syntax/src/grammar.ron
index eab55058b..6c075a700 100644
--- a/crates/ra_syntax/src/grammar.ron
+++ b/crates/ra_syntax/src/grammar.ron
@@ -96,6 +96,7 @@ Grammar(
96 "move", 96 "move",
97 "return", 97 "return",
98 "try", 98 "try",
99 "box",
99 ], 100 ],
100 contextual_keywords: [ 101 contextual_keywords: [
101 "auto", 102 "auto",
@@ -192,6 +193,7 @@ Grammar(
192 "NAMED_FIELD_LIST", 193 "NAMED_FIELD_LIST",
193 "NAMED_FIELD", 194 "NAMED_FIELD",
194 "TRY_BLOCK_EXPR", 195 "TRY_BLOCK_EXPR",
196 "BOX_EXPR",
195 197
196 // postfix 198 // postfix
197 "CALL_EXPR", 199 "CALL_EXPR",
diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.rs
index 820a9e72c..5a93469af 100644
--- a/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.rs
@@ -5,4 +5,5 @@ fn main() {
5 let ref mut d = (); 5 let ref mut d = ();
6 let e @ _ = (); 6 let e @ _ = ();
7 let ref mut f @ g @ _ = (); 7 let ref mut f @ g @ _ = ();
8 let box i = Box::new(1i32);
8} 9}
diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.txt
index ab0f88507..189254a19 100644
--- a/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.txt
@@ -1,5 +1,5 @@
1SOURCE_FILE@[0; 146) 1SOURCE_FILE@[0; 178)
2 FN_DEF@[0; 145) 2 FN_DEF@[0; 177)
3 FN_KW@[0; 2) "fn" 3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " " 4 WHITESPACE@[2; 3) " "
5 NAME@[3; 7) 5 NAME@[3; 7)
@@ -8,7 +8,7 @@ SOURCE_FILE@[0; 146)
8 L_PAREN@[7; 8) "(" 8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")" 9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " " 10 WHITESPACE@[9; 10) " "
11 BLOCK@[10; 145) 11 BLOCK@[10; 177)
12 L_CURLY@[10; 11) "{" 12 L_CURLY@[10; 11) "{"
13 WHITESPACE@[11; 16) "\n " 13 WHITESPACE@[11; 16) "\n "
14 LET_STMT@[16; 27) 14 LET_STMT@[16; 27)
@@ -122,6 +122,35 @@ SOURCE_FILE@[0; 146)
122 L_PAREN@[140; 141) "(" 122 L_PAREN@[140; 141) "("
123 R_PAREN@[141; 142) ")" 123 R_PAREN@[141; 142) ")"
124 SEMI@[142; 143) ";" 124 SEMI@[142; 143) ";"
125 WHITESPACE@[143; 144) "\n" 125 WHITESPACE@[143; 148) "\n "
126 R_CURLY@[144; 145) "}" 126 LET_STMT@[148; 175)
127 WHITESPACE@[145; 146) "\n" 127 LET_KW@[148; 151) "let"
128 WHITESPACE@[151; 152) " "
129 BIND_PAT@[152; 157)
130 BOX_KW@[152; 155) "box"
131 WHITESPACE@[155; 156) " "
132 NAME@[156; 157)
133 IDENT@[156; 157) "i"
134 WHITESPACE@[157; 158) " "
135 EQ@[158; 159) "="
136 WHITESPACE@[159; 160) " "
137 CALL_EXPR@[160; 174)
138 PATH_EXPR@[160; 168)
139 PATH@[160; 168)
140 PATH@[160; 163)
141 PATH_SEGMENT@[160; 163)
142 NAME_REF@[160; 163)
143 IDENT@[160; 163) "Box"
144 COLONCOLON@[163; 165) "::"
145 PATH_SEGMENT@[165; 168)
146 NAME_REF@[165; 168)
147 IDENT@[165; 168) "new"
148 ARG_LIST@[168; 174)
149 L_PAREN@[168; 169) "("
150 LITERAL@[169; 173)
151 INT_NUMBER@[169; 173) "1i32"
152 R_PAREN@[173; 174) ")"
153 SEMI@[174; 175) ";"
154 WHITESPACE@[175; 176) "\n"
155 R_CURLY@[176; 177) "}"
156 WHITESPACE@[177; 178) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0132_box_syntax.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0132_box_expr.rs
index e69c81e22..e69c81e22 100644
--- a/crates/ra_syntax/tests/data/parser/inline/ok/0132_box_syntax.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0132_box_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0132_box_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0132_box_expr.txt
new file mode 100644
index 000000000..f4eeb7e24
--- /dev/null
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0132_box_expr.txt
@@ -0,0 +1,31 @@
1SOURCE_FILE@[0; 35)
2 FN_DEF@[0; 34)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 6)
6 IDENT@[3; 6) "foo"
7 PARAM_LIST@[6; 8)
8 L_PAREN@[6; 7) "("
9 R_PAREN@[7; 8) ")"
10 WHITESPACE@[8; 9) " "
11 BLOCK@[9; 34)
12 L_CURLY@[9; 10) "{"
13 WHITESPACE@[10; 15) "\n "
14 LET_STMT@[15; 32)
15 LET_KW@[15; 18) "let"
16 WHITESPACE@[18; 19) " "
17 BIND_PAT@[19; 20)
18 NAME@[19; 20)
19 IDENT@[19; 20) "x"
20 WHITESPACE@[20; 21) " "
21 EQ@[21; 22) "="
22 WHITESPACE@[22; 23) " "
23 BOX_EXPR@[23; 31)
24 BOX_KW@[23; 26) "box"
25 WHITESPACE@[26; 27) " "
26 LITERAL@[27; 31)
27 INT_NUMBER@[27; 31) "1i32"
28 SEMI@[31; 32) ";"
29 WHITESPACE@[32; 33) "\n"
30 R_CURLY@[33; 34) "}"
31 WHITESPACE@[34; 35) "\n"