Skip to content

Commit 8454f59

Browse files
Keep tests in a central location
1 parent 6840970 commit 8454f59

File tree

10 files changed

+128
-208
lines changed

10 files changed

+128
-208
lines changed

crates/ra_parser/src/grammar/expressions/atom.rs

-2
Original file line numberDiff line numberDiff line change
@@ -414,8 +414,6 @@ pub(crate) fn match_arm_list(p: &mut Parser) {
414414
// X | Y if Z => (),
415415
// | X | Y if Z => (),
416416
// | X => (),
417-
// box X => (),
418-
// Some(box X) => (),
419417
// };
420418
// }
421419
fn match_arm(p: &mut Parser) -> BlockLike {

crates/ra_parser/src/grammar/patterns.rs

+2-11
Original file line numberDiff line numberDiff line change
@@ -270,18 +270,9 @@ fn bind_pat(p: &mut Parser, with_at: bool) -> CompletedMarker {
270270
m.complete(p, BIND_PAT)
271271
}
272272

273-
// test_err ref_box_pat
274-
// fn main() {
275-
// let ref box i = ();
276-
// }
277-
278273
// test box_pat
279-
// struct Outer<'a> {
280-
// i: Box<i32>,
281-
// j: Box<Inner<'a>>,
282-
// }
283-
//
284-
// struct Inner<'a>(&'a i32);
274+
// struct Outer;
275+
// struct Inner;
285276
//
286277
// fn main() {
287278
// let box i = ();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
fn main() {
2+
let ref box i = ();
3+
let mut box i = ();
4+
let ref mut box i = ();
5+
}
6+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
SOURCE_FILE@[0; 91)
2+
FN_DEF@[0; 89)
3+
FN_KW@[0; 2) "fn"
4+
WHITESPACE@[2; 3) " "
5+
NAME@[3; 7)
6+
IDENT@[3; 7) "main"
7+
PARAM_LIST@[7; 9)
8+
L_PAREN@[7; 8) "("
9+
R_PAREN@[8; 9) ")"
10+
WHITESPACE@[9; 10) " "
11+
BLOCK@[10; 89)
12+
L_CURLY@[10; 11) "{"
13+
WHITESPACE@[11; 16) "\n "
14+
LET_STMT@[16; 27)
15+
LET_KW@[16; 19) "let"
16+
WHITESPACE@[19; 20) " "
17+
BIND_PAT@[20; 27)
18+
REF_KW@[20; 23) "ref"
19+
WHITESPACE@[23; 24) " "
20+
ERROR@[24; 27)
21+
BOX_KW@[24; 27) "box"
22+
WHITESPACE@[27; 28) " "
23+
EXPR_STMT@[28; 35)
24+
BIN_EXPR@[28; 34)
25+
PATH_EXPR@[28; 29)
26+
PATH@[28; 29)
27+
PATH_SEGMENT@[28; 29)
28+
NAME_REF@[28; 29)
29+
IDENT@[28; 29) "i"
30+
WHITESPACE@[29; 30) " "
31+
EQ@[30; 31) "="
32+
WHITESPACE@[31; 32) " "
33+
TUPLE_EXPR@[32; 34)
34+
L_PAREN@[32; 33) "("
35+
R_PAREN@[33; 34) ")"
36+
SEMI@[34; 35) ";"
37+
WHITESPACE@[35; 40) "\n "
38+
LET_STMT@[40; 51)
39+
LET_KW@[40; 43) "let"
40+
WHITESPACE@[43; 44) " "
41+
BIND_PAT@[44; 51)
42+
MUT_KW@[44; 47) "mut"
43+
WHITESPACE@[47; 48) " "
44+
ERROR@[48; 51)
45+
BOX_KW@[48; 51) "box"
46+
WHITESPACE@[51; 52) " "
47+
EXPR_STMT@[52; 59)
48+
BIN_EXPR@[52; 58)
49+
PATH_EXPR@[52; 53)
50+
PATH@[52; 53)
51+
PATH_SEGMENT@[52; 53)
52+
NAME_REF@[52; 53)
53+
IDENT@[52; 53) "i"
54+
WHITESPACE@[53; 54) " "
55+
EQ@[54; 55) "="
56+
WHITESPACE@[55; 56) " "
57+
TUPLE_EXPR@[56; 58)
58+
L_PAREN@[56; 57) "("
59+
R_PAREN@[57; 58) ")"
60+
SEMI@[58; 59) ";"
61+
WHITESPACE@[59; 64) "\n "
62+
LET_STMT@[64; 79)
63+
LET_KW@[64; 67) "let"
64+
WHITESPACE@[67; 68) " "
65+
BIND_PAT@[68; 79)
66+
REF_KW@[68; 71) "ref"
67+
WHITESPACE@[71; 72) " "
68+
MUT_KW@[72; 75) "mut"
69+
WHITESPACE@[75; 76) " "
70+
ERROR@[76; 79)
71+
BOX_KW@[76; 79) "box"
72+
WHITESPACE@[79; 80) " "
73+
EXPR_STMT@[80; 87)
74+
BIN_EXPR@[80; 86)
75+
PATH_EXPR@[80; 81)
76+
PATH@[80; 81)
77+
PATH_SEGMENT@[80; 81)
78+
NAME_REF@[80; 81)
79+
IDENT@[80; 81) "i"
80+
WHITESPACE@[81; 82) " "
81+
EQ@[82; 83) "="
82+
WHITESPACE@[83; 84) " "
83+
TUPLE_EXPR@[84; 86)
84+
L_PAREN@[84; 85) "("
85+
R_PAREN@[85; 86) ")"
86+
SEMI@[86; 87) ";"
87+
WHITESPACE@[87; 88) "\n"
88+
R_CURLY@[88; 89) "}"
89+
WHITESPACE@[89; 91) "\n\n"
90+
error 24: expected a name
91+
error 27: expected SEMI
92+
error 48: expected a name
93+
error 51: expected SEMI
94+
error 76: expected a name
95+
error 79: expected SEMI

crates/ra_syntax/test_data/parser/inline/err/0013_ref_box_pat.rs

-3
This file was deleted.

crates/ra_syntax/test_data/parser/inline/err/0013_ref_box_pat.txt

-41
This file was deleted.

crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.rs

-3
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,5 @@ fn foo() {
55
X | Y if Z => (),
66
| X | Y if Z => (),
77
| X => (),
8-
box X => (),
9-
Some(box X) => (),
10-
Some(box Test{field: 0}) => (),
118
};
129
}

crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.txt

+12-84
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
SOURCE_FILE@[0; 255)
2-
FN_DEF@[0; 254)
1+
SOURCE_FILE@[0; 167)
2+
FN_DEF@[0; 166)
33
FN_KW@[0; 2) "fn"
44
WHITESPACE@[2; 3) " "
55
NAME@[3; 6)
@@ -8,18 +8,18 @@ SOURCE_FILE@[0; 255)
88
L_PAREN@[6; 7) "("
99
R_PAREN@[7; 8) ")"
1010
WHITESPACE@[8; 9) " "
11-
BLOCK@[9; 254)
11+
BLOCK@[9; 166)
1212
L_CURLY@[9; 10) "{"
1313
WHITESPACE@[10; 15) "\n "
14-
EXPR_STMT@[15; 252)
15-
MATCH_EXPR@[15; 251)
14+
EXPR_STMT@[15; 164)
15+
MATCH_EXPR@[15; 163)
1616
MATCH_KW@[15; 20) "match"
1717
WHITESPACE@[20; 21) " "
1818
TUPLE_EXPR@[21; 23)
1919
L_PAREN@[21; 22) "("
2020
R_PAREN@[22; 23) ")"
2121
WHITESPACE@[23; 24) " "
22-
MATCH_ARM_LIST@[24; 251)
22+
MATCH_ARM_LIST@[24; 163)
2323
L_CURLY@[24; 25) "{"
2424
WHITESPACE@[25; 34) "\n "
2525
MATCH_ARM@[34; 41)
@@ -141,81 +141,9 @@ SOURCE_FILE@[0; 255)
141141
L_PAREN@[154; 155) "("
142142
R_PAREN@[155; 156) ")"
143143
COMMA@[156; 157) ","
144-
WHITESPACE@[157; 166) "\n "
145-
MATCH_ARM@[166; 177)
146-
BOX_PAT@[166; 171)
147-
BOX_KW@[166; 169) "box"
148-
WHITESPACE@[169; 170) " "
149-
BIND_PAT@[170; 171)
150-
NAME@[170; 171)
151-
IDENT@[170; 171) "X"
152-
WHITESPACE@[171; 172) " "
153-
FAT_ARROW@[172; 174) "=>"
154-
WHITESPACE@[174; 175) " "
155-
TUPLE_EXPR@[175; 177)
156-
L_PAREN@[175; 176) "("
157-
R_PAREN@[176; 177) ")"
158-
COMMA@[177; 178) ","
159-
WHITESPACE@[178; 187) "\n "
160-
MATCH_ARM@[187; 204)
161-
TUPLE_STRUCT_PAT@[187; 198)
162-
PATH@[187; 191)
163-
PATH_SEGMENT@[187; 191)
164-
NAME_REF@[187; 191)
165-
IDENT@[187; 191) "Some"
166-
L_PAREN@[191; 192) "("
167-
BOX_PAT@[192; 197)
168-
BOX_KW@[192; 195) "box"
169-
WHITESPACE@[195; 196) " "
170-
BIND_PAT@[196; 197)
171-
NAME@[196; 197)
172-
IDENT@[196; 197) "X"
173-
R_PAREN@[197; 198) ")"
174-
WHITESPACE@[198; 199) " "
175-
FAT_ARROW@[199; 201) "=>"
176-
WHITESPACE@[201; 202) " "
177-
TUPLE_EXPR@[202; 204)
178-
L_PAREN@[202; 203) "("
179-
R_PAREN@[203; 204) ")"
180-
COMMA@[204; 205) ","
181-
WHITESPACE@[205; 214) "\n "
182-
MATCH_ARM@[214; 244)
183-
TUPLE_STRUCT_PAT@[214; 238)
184-
PATH@[214; 218)
185-
PATH_SEGMENT@[214; 218)
186-
NAME_REF@[214; 218)
187-
IDENT@[214; 218) "Some"
188-
L_PAREN@[218; 219) "("
189-
BOX_PAT@[219; 237)
190-
BOX_KW@[219; 222) "box"
191-
WHITESPACE@[222; 223) " "
192-
STRUCT_PAT@[223; 237)
193-
PATH@[223; 227)
194-
PATH_SEGMENT@[223; 227)
195-
NAME_REF@[223; 227)
196-
IDENT@[223; 227) "Test"
197-
FIELD_PAT_LIST@[227; 237)
198-
L_CURLY@[227; 228) "{"
199-
FIELD_PAT@[228; 236)
200-
NAME@[228; 233)
201-
IDENT@[228; 233) "field"
202-
COLON@[233; 234) ":"
203-
WHITESPACE@[234; 235) " "
204-
LITERAL_PAT@[235; 236)
205-
LITERAL@[235; 236)
206-
INT_NUMBER@[235; 236) "0"
207-
R_CURLY@[236; 237) "}"
208-
R_PAREN@[237; 238) ")"
209-
WHITESPACE@[238; 239) " "
210-
FAT_ARROW@[239; 241) "=>"
211-
WHITESPACE@[241; 242) " "
212-
TUPLE_EXPR@[242; 244)
213-
L_PAREN@[242; 243) "("
214-
R_PAREN@[243; 244) ")"
215-
COMMA@[244; 245) ","
216-
WHITESPACE@[245; 250) "\n "
217-
R_CURLY@[250; 251) "}"
218-
SEMI@[251; 252) ";"
219-
WHITESPACE@[252; 253) "\n"
220-
R_CURLY@[253; 254) "}"
221-
WHITESPACE@[254; 255) "\n"
144+
WHITESPACE@[157; 162) "\n "
145+
R_CURLY@[162; 163) "}"
146+
SEMI@[163; 164) ";"
147+
WHITESPACE@[164; 165) "\n"
148+
R_CURLY@[165; 166) "}"
149+
WHITESPACE@[166; 167) "\n"
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
1-
struct Outer<'a> {
2-
i: Box<i32>,
3-
j: Box<Inner<'a>>,
4-
}
1+
struct Outer;
2+
struct Inner;
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,15 @@
1-
SOURCE_FILE@[0; 61)
2-
STRUCT_DEF@[0; 60)
1+
SOURCE_FILE@[0; 28)
2+
STRUCT_DEF@[0; 13)
33
STRUCT_KW@[0; 6) "struct"
44
WHITESPACE@[6; 7) " "
55
NAME@[7; 12)
66
IDENT@[7; 12) "Outer"
7-
TYPE_PARAM_LIST@[12; 16)
8-
L_ANGLE@[12; 13) "<"
9-
LIFETIME_PARAM@[13; 15)
10-
LIFETIME@[13; 15) "\'a"
11-
R_ANGLE@[15; 16) ">"
12-
WHITESPACE@[16; 17) " "
13-
NAMED_FIELD_DEF_LIST@[17; 60)
14-
L_CURLY@[17; 18) "{"
15-
WHITESPACE@[18; 23) "\n "
16-
NAMED_FIELD_DEF@[23; 34)
17-
NAME@[23; 24)
18-
IDENT@[23; 24) "i"
19-
COLON@[24; 25) ":"
20-
WHITESPACE@[25; 26) " "
21-
PATH_TYPE@[26; 34)
22-
PATH@[26; 34)
23-
PATH_SEGMENT@[26; 34)
24-
NAME_REF@[26; 29)
25-
IDENT@[26; 29) "Box"
26-
TYPE_ARG_LIST@[29; 34)
27-
L_ANGLE@[29; 30) "<"
28-
TYPE_ARG@[30; 33)
29-
PATH_TYPE@[30; 33)
30-
PATH@[30; 33)
31-
PATH_SEGMENT@[30; 33)
32-
NAME_REF@[30; 33)
33-
IDENT@[30; 33) "i32"
34-
R_ANGLE@[33; 34) ">"
35-
COMMA@[34; 35) ","
36-
WHITESPACE@[35; 40) "\n "
37-
NAMED_FIELD_DEF@[40; 57)
38-
NAME@[40; 41)
39-
IDENT@[40; 41) "j"
40-
COLON@[41; 42) ":"
41-
WHITESPACE@[42; 43) " "
42-
PATH_TYPE@[43; 57)
43-
PATH@[43; 57)
44-
PATH_SEGMENT@[43; 57)
45-
NAME_REF@[43; 46)
46-
IDENT@[43; 46) "Box"
47-
TYPE_ARG_LIST@[46; 57)
48-
L_ANGLE@[46; 47) "<"
49-
TYPE_ARG@[47; 56)
50-
PATH_TYPE@[47; 56)
51-
PATH@[47; 56)
52-
PATH_SEGMENT@[47; 56)
53-
NAME_REF@[47; 52)
54-
IDENT@[47; 52) "Inner"
55-
TYPE_ARG_LIST@[52; 56)
56-
L_ANGLE@[52; 53) "<"
57-
LIFETIME_ARG@[53; 55)
58-
LIFETIME@[53; 55) "\'a"
59-
R_ANGLE@[55; 56) ">"
60-
R_ANGLE@[56; 57) ">"
61-
COMMA@[57; 58) ","
62-
WHITESPACE@[58; 59) "\n"
63-
R_CURLY@[59; 60) "}"
64-
WHITESPACE@[60; 61) "\n"
7+
SEMI@[12; 13) ";"
8+
WHITESPACE@[13; 14) "\n"
9+
STRUCT_DEF@[14; 27)
10+
STRUCT_KW@[14; 20) "struct"
11+
WHITESPACE@[20; 21) " "
12+
NAME@[21; 26)
13+
IDENT@[21; 26) "Inner"
14+
SEMI@[26; 27) ";"
15+
WHITESPACE@[27; 28) "\n"

0 commit comments

Comments
 (0)