Address review comments
This commit is contained in:
parent
504e2a46bd
commit
49b53cd7a0
@ -41,16 +41,14 @@ fn pattern_r(p: &mut Parser, recovery_set: TokenSet) {
|
|||||||
let m = p.start();
|
let m = p.start();
|
||||||
pattern_single_r(p, recovery_set);
|
pattern_single_r(p, recovery_set);
|
||||||
|
|
||||||
let mut is_or_pat = false;
|
if !p.at(T![|]) {
|
||||||
|
m.abandon(p);
|
||||||
|
return;
|
||||||
|
}
|
||||||
while p.eat(T![|]) {
|
while p.eat(T![|]) {
|
||||||
is_or_pat = true;
|
|
||||||
pattern_single_r(p, recovery_set);
|
pattern_single_r(p, recovery_set);
|
||||||
}
|
}
|
||||||
if is_or_pat {
|
m.complete(p, OR_PAT);
|
||||||
m.complete(p, OR_PAT);
|
|
||||||
} else {
|
|
||||||
m.abandon(p);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn pattern_single_r(p: &mut Parser, recovery_set: TokenSet) {
|
fn pattern_single_r(p: &mut Parser, recovery_set: TokenSet) {
|
||||||
@ -292,6 +290,9 @@ fn ref_pat(p: &mut Parser) -> CompletedMarker {
|
|||||||
// test tuple_pat
|
// test tuple_pat
|
||||||
// fn main() {
|
// fn main() {
|
||||||
// let (a, b, ..) = ();
|
// let (a, b, ..) = ();
|
||||||
|
// let (a,) = ();
|
||||||
|
// let (..) = ();
|
||||||
|
// let () = ();
|
||||||
// }
|
// }
|
||||||
fn tuple_pat(p: &mut Parser) -> CompletedMarker {
|
fn tuple_pat(p: &mut Parser) -> CompletedMarker {
|
||||||
assert!(p.at(T!['(']));
|
assert!(p.at(T!['(']));
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
fn main() {
|
fn main() {
|
||||||
let (a, b, ..) = ();
|
let (a, b, ..) = ();
|
||||||
|
let (a,) = ();
|
||||||
|
let (..) = ();
|
||||||
|
let () = ();
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
SOURCE_FILE@[0; 39)
|
SOURCE_FILE@[0; 94)
|
||||||
FN_DEF@[0; 38)
|
FN_DEF@[0; 93)
|
||||||
FN_KW@[0; 2) "fn"
|
FN_KW@[0; 2) "fn"
|
||||||
WHITESPACE@[2; 3) " "
|
WHITESPACE@[2; 3) " "
|
||||||
NAME@[3; 7)
|
NAME@[3; 7)
|
||||||
@ -8,8 +8,8 @@ SOURCE_FILE@[0; 39)
|
|||||||
L_PAREN@[7; 8) "("
|
L_PAREN@[7; 8) "("
|
||||||
R_PAREN@[8; 9) ")"
|
R_PAREN@[8; 9) ")"
|
||||||
WHITESPACE@[9; 10) " "
|
WHITESPACE@[9; 10) " "
|
||||||
BLOCK_EXPR@[10; 38)
|
BLOCK_EXPR@[10; 93)
|
||||||
BLOCK@[10; 38)
|
BLOCK@[10; 93)
|
||||||
L_CURLY@[10; 11) "{"
|
L_CURLY@[10; 11) "{"
|
||||||
WHITESPACE@[11; 16) "\n "
|
WHITESPACE@[11; 16) "\n "
|
||||||
LET_STMT@[16; 36)
|
LET_STMT@[16; 36)
|
||||||
@ -37,6 +37,54 @@ SOURCE_FILE@[0; 39)
|
|||||||
L_PAREN@[33; 34) "("
|
L_PAREN@[33; 34) "("
|
||||||
R_PAREN@[34; 35) ")"
|
R_PAREN@[34; 35) ")"
|
||||||
SEMI@[35; 36) ";"
|
SEMI@[35; 36) ";"
|
||||||
WHITESPACE@[36; 37) "\n"
|
WHITESPACE@[36; 41) "\n "
|
||||||
R_CURLY@[37; 38) "}"
|
LET_STMT@[41; 55)
|
||||||
WHITESPACE@[38; 39) "\n"
|
LET_KW@[41; 44) "let"
|
||||||
|
WHITESPACE@[44; 45) " "
|
||||||
|
TUPLE_PAT@[45; 49)
|
||||||
|
L_PAREN@[45; 46) "("
|
||||||
|
BIND_PAT@[46; 47)
|
||||||
|
NAME@[46; 47)
|
||||||
|
IDENT@[46; 47) "a"
|
||||||
|
COMMA@[47; 48) ","
|
||||||
|
R_PAREN@[48; 49) ")"
|
||||||
|
WHITESPACE@[49; 50) " "
|
||||||
|
EQ@[50; 51) "="
|
||||||
|
WHITESPACE@[51; 52) " "
|
||||||
|
TUPLE_EXPR@[52; 54)
|
||||||
|
L_PAREN@[52; 53) "("
|
||||||
|
R_PAREN@[53; 54) ")"
|
||||||
|
SEMI@[54; 55) ";"
|
||||||
|
WHITESPACE@[55; 60) "\n "
|
||||||
|
LET_STMT@[60; 74)
|
||||||
|
LET_KW@[60; 63) "let"
|
||||||
|
WHITESPACE@[63; 64) " "
|
||||||
|
TUPLE_PAT@[64; 68)
|
||||||
|
L_PAREN@[64; 65) "("
|
||||||
|
DOT_DOT_PAT@[65; 67)
|
||||||
|
DOTDOT@[65; 67) ".."
|
||||||
|
R_PAREN@[67; 68) ")"
|
||||||
|
WHITESPACE@[68; 69) " "
|
||||||
|
EQ@[69; 70) "="
|
||||||
|
WHITESPACE@[70; 71) " "
|
||||||
|
TUPLE_EXPR@[71; 73)
|
||||||
|
L_PAREN@[71; 72) "("
|
||||||
|
R_PAREN@[72; 73) ")"
|
||||||
|
SEMI@[73; 74) ";"
|
||||||
|
WHITESPACE@[74; 79) "\n "
|
||||||
|
LET_STMT@[79; 91)
|
||||||
|
LET_KW@[79; 82) "let"
|
||||||
|
WHITESPACE@[82; 83) " "
|
||||||
|
TUPLE_PAT@[83; 85)
|
||||||
|
L_PAREN@[83; 84) "("
|
||||||
|
R_PAREN@[84; 85) ")"
|
||||||
|
WHITESPACE@[85; 86) " "
|
||||||
|
EQ@[86; 87) "="
|
||||||
|
WHITESPACE@[87; 88) " "
|
||||||
|
TUPLE_EXPR@[88; 90)
|
||||||
|
L_PAREN@[88; 89) "("
|
||||||
|
R_PAREN@[89; 90) ")"
|
||||||
|
SEMI@[90; 91) ";"
|
||||||
|
WHITESPACE@[91; 92) "\n"
|
||||||
|
R_CURLY@[92; 93) "}"
|
||||||
|
WHITESPACE@[93; 94) "\n"
|
||||||
|
Loading…
Reference in New Issue
Block a user