File tree Expand file tree Collapse file tree 3 files changed +66
-14
lines changed
ra_syntax/test_data/parser/inline/ok Expand file tree Collapse file tree 3 files changed +66
-14
lines changed Original file line number Diff line number Diff line change @@ -41,16 +41,14 @@ fn pattern_r(p: &mut Parser, recovery_set: TokenSet) {
4141 let m = p. start ( ) ;
4242 pattern_single_r ( p, recovery_set) ;
4343
44- let mut is_or_pat = false ;
44+ if !p. at ( T ! [ |] ) {
45+ m. abandon ( p) ;
46+ return ;
47+ }
4548 while p. eat ( T ! [ |] ) {
46- is_or_pat = true ;
4749 pattern_single_r ( p, recovery_set) ;
4850 }
49- if is_or_pat {
50- m. complete ( p, OR_PAT ) ;
51- } else {
52- m. abandon ( p) ;
53- }
51+ m. complete ( p, OR_PAT ) ;
5452}
5553
5654fn pattern_single_r ( p : & mut Parser , recovery_set : TokenSet ) {
@@ -292,6 +290,9 @@ fn ref_pat(p: &mut Parser) -> CompletedMarker {
292290// test tuple_pat
293291// fn main() {
294292// let (a, b, ..) = ();
293+ // let (a,) = ();
294+ // let (..) = ();
295+ // let () = ();
295296// }
296297fn tuple_pat ( p : & mut Parser ) -> CompletedMarker {
297298 assert ! ( p. at( T ![ '(' ] ) ) ;
Original file line number Diff line number Diff line change 11fn main ( ) {
22 let ( a, b, ..) = ( ) ;
3+ let ( a, ) = ( ) ;
4+ let ( ..) = ( ) ;
5+ let ( ) = ( ) ;
36}
Original file line number Diff line number Diff line change 1- SOURCE_FILE@[0; 39 )
2- FN_DEF@[0; 38 )
1+ SOURCE_FILE@[0; 94 )
2+ FN_DEF@[0; 93 )
33 FN_KW@[0; 2) "fn"
44 WHITESPACE@[2; 3) " "
55 NAME@[3; 7)
@@ -8,8 +8,8 @@ SOURCE_FILE@[0; 39)
88 L_PAREN@[7; 8) "("
99 R_PAREN@[8; 9) ")"
1010 WHITESPACE@[9; 10) " "
11- BLOCK_EXPR@[10; 38 )
12- BLOCK@[10; 38 )
11+ BLOCK_EXPR@[10; 93 )
12+ BLOCK@[10; 93 )
1313 L_CURLY@[10; 11) "{"
1414 WHITESPACE@[11; 16) "\n "
1515 LET_STMT@[16; 36)
@@ -37,6 +37,54 @@ SOURCE_FILE@[0; 39)
3737 L_PAREN@[33; 34) "("
3838 R_PAREN@[34; 35) ")"
3939 SEMI@[35; 36) ";"
40- WHITESPACE@[36; 37) "\n"
41- R_CURLY@[37; 38) "}"
42- WHITESPACE@[38; 39) "\n"
40+ WHITESPACE@[36; 41) "\n "
41+ LET_STMT@[41; 55)
42+ LET_KW@[41; 44) "let"
43+ WHITESPACE@[44; 45) " "
44+ TUPLE_PAT@[45; 49)
45+ L_PAREN@[45; 46) "("
46+ BIND_PAT@[46; 47)
47+ NAME@[46; 47)
48+ IDENT@[46; 47) "a"
49+ COMMA@[47; 48) ","
50+ R_PAREN@[48; 49) ")"
51+ WHITESPACE@[49; 50) " "
52+ EQ@[50; 51) "="
53+ WHITESPACE@[51; 52) " "
54+ TUPLE_EXPR@[52; 54)
55+ L_PAREN@[52; 53) "("
56+ R_PAREN@[53; 54) ")"
57+ SEMI@[54; 55) ";"
58+ WHITESPACE@[55; 60) "\n "
59+ LET_STMT@[60; 74)
60+ LET_KW@[60; 63) "let"
61+ WHITESPACE@[63; 64) " "
62+ TUPLE_PAT@[64; 68)
63+ L_PAREN@[64; 65) "("
64+ DOT_DOT_PAT@[65; 67)
65+ DOTDOT@[65; 67) ".."
66+ R_PAREN@[67; 68) ")"
67+ WHITESPACE@[68; 69) " "
68+ EQ@[69; 70) "="
69+ WHITESPACE@[70; 71) " "
70+ TUPLE_EXPR@[71; 73)
71+ L_PAREN@[71; 72) "("
72+ R_PAREN@[72; 73) ")"
73+ SEMI@[73; 74) ";"
74+ WHITESPACE@[74; 79) "\n "
75+ LET_STMT@[79; 91)
76+ LET_KW@[79; 82) "let"
77+ WHITESPACE@[82; 83) " "
78+ TUPLE_PAT@[83; 85)
79+ L_PAREN@[83; 84) "("
80+ R_PAREN@[84; 85) ")"
81+ WHITESPACE@[85; 86) " "
82+ EQ@[86; 87) "="
83+ WHITESPACE@[87; 88) " "
84+ TUPLE_EXPR@[88; 90)
85+ L_PAREN@[88; 89) "("
86+ R_PAREN@[89; 90) ")"
87+ SEMI@[90; 91) ";"
88+ WHITESPACE@[91; 92) "\n"
89+ R_CURLY@[92; 93) "}"
90+ WHITESPACE@[93; 94) "\n"
You can’t perform that action at this time.
0 commit comments