mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 04:53:34 +00:00
Don't get stuck in tuple exprs
This commit is contained in:
parent
a0a347eac9
commit
febbc9acdd
4 changed files with 484 additions and 96 deletions
|
@ -108,6 +108,10 @@ fn tuple_expr(p: &mut Parser) -> CompletedMarker {
|
|||
let mut saw_expr = false;
|
||||
while !p.at(EOF) && !p.at(R_PAREN) {
|
||||
saw_expr = true;
|
||||
if !EXPR_FIRST.contains(p.current()) {
|
||||
p.error("expected expression");
|
||||
break;
|
||||
}
|
||||
expr(p);
|
||||
if !p.at(R_PAREN) {
|
||||
saw_comma = true;
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
fn f<T: (Copy) + (?Sized) + (for<'a> Trait<'a>)>() {}
|
||||
|
||||
fn main() {
|
||||
let _: Box<(Copy) + (?Sized) + (for<'a> Trait<'a>)>;
|
||||
let _: Box<(?Sized) + (for<'a> Trait<'a>) + (Copy)>;
|
||||
let _: Box<(for<'a> Trait<'a>) + (Copy) + (?Sized)>;
|
||||
}
|
|
@ -0,0 +1,310 @@
|
|||
ROOT@[0; 240)
|
||||
FN_DEF@[0; 53)
|
||||
FN_KW@[0; 2)
|
||||
WHITESPACE@[2; 3)
|
||||
NAME@[3; 4)
|
||||
IDENT@[3; 4) "f"
|
||||
TYPE_PARAM_LIST@[4; 48)
|
||||
L_ANGLE@[4; 5)
|
||||
TYPE_PARAM@[5; 47)
|
||||
NAME@[5; 6)
|
||||
IDENT@[5; 6) "T"
|
||||
COLON@[6; 7)
|
||||
WHITESPACE@[7; 8)
|
||||
L_PAREN@[8; 9)
|
||||
PATH_TYPE@[9; 13)
|
||||
PATH@[9; 13)
|
||||
PATH_SEGMENT@[9; 13)
|
||||
NAME_REF@[9; 13)
|
||||
IDENT@[9; 13) "Copy"
|
||||
R_PAREN@[13; 14)
|
||||
WHITESPACE@[14; 15)
|
||||
PLUS@[15; 16)
|
||||
WHITESPACE@[16; 17)
|
||||
L_PAREN@[17; 18)
|
||||
QUESTION@[18; 19)
|
||||
PATH_TYPE@[19; 24)
|
||||
PATH@[19; 24)
|
||||
PATH_SEGMENT@[19; 24)
|
||||
NAME_REF@[19; 24)
|
||||
IDENT@[19; 24) "Sized"
|
||||
R_PAREN@[24; 25)
|
||||
WHITESPACE@[25; 26)
|
||||
PLUS@[26; 27)
|
||||
WHITESPACE@[27; 28)
|
||||
L_PAREN@[28; 29)
|
||||
FOR_TYPE@[29; 46)
|
||||
FOR_KW@[29; 32)
|
||||
TYPE_PARAM_LIST@[32; 36)
|
||||
L_ANGLE@[32; 33)
|
||||
LIFETIME_PARAM@[33; 35)
|
||||
LIFETIME@[33; 35) "'a"
|
||||
R_ANGLE@[35; 36)
|
||||
WHITESPACE@[36; 37)
|
||||
PATH_TYPE@[37; 46)
|
||||
PATH@[37; 46)
|
||||
PATH_SEGMENT@[37; 46)
|
||||
NAME_REF@[37; 42)
|
||||
IDENT@[37; 42) "Trait"
|
||||
TYPE_ARG_LIST@[42; 46)
|
||||
L_ANGLE@[42; 43)
|
||||
LIFETIME_ARG@[43; 45)
|
||||
LIFETIME@[43; 45) "'a"
|
||||
R_ANGLE@[45; 46)
|
||||
R_PAREN@[46; 47)
|
||||
R_ANGLE@[47; 48)
|
||||
PARAM_LIST@[48; 50)
|
||||
L_PAREN@[48; 49)
|
||||
R_PAREN@[49; 50)
|
||||
WHITESPACE@[50; 51)
|
||||
BLOCK@[51; 53)
|
||||
L_CURLY@[51; 52)
|
||||
R_CURLY@[52; 53)
|
||||
WHITESPACE@[53; 55)
|
||||
FN_DEF@[55; 239)
|
||||
FN_KW@[55; 57)
|
||||
WHITESPACE@[57; 58)
|
||||
NAME@[58; 62)
|
||||
IDENT@[58; 62) "main"
|
||||
PARAM_LIST@[62; 64)
|
||||
L_PAREN@[62; 63)
|
||||
R_PAREN@[63; 64)
|
||||
WHITESPACE@[64; 65)
|
||||
BLOCK@[65; 239)
|
||||
L_CURLY@[65; 66)
|
||||
WHITESPACE@[66; 71)
|
||||
LET_STMT@[71; 121)
|
||||
LET_KW@[71; 74)
|
||||
WHITESPACE@[74; 75)
|
||||
PLACEHOLDER_PAT@[75; 76)
|
||||
UNDERSCORE@[75; 76)
|
||||
COLON@[76; 77)
|
||||
WHITESPACE@[77; 78)
|
||||
PATH_TYPE@[78; 121)
|
||||
PATH@[78; 88)
|
||||
PATH_SEGMENT@[78; 88)
|
||||
NAME_REF@[78; 81)
|
||||
IDENT@[78; 81) "Box"
|
||||
TYPE_ARG_LIST@[81; 88)
|
||||
L_ANGLE@[81; 82)
|
||||
TYPE_ARG@[82; 88)
|
||||
PAREN_TYPE@[82; 88)
|
||||
L_PAREN@[82; 83)
|
||||
PATH_TYPE@[83; 87)
|
||||
PATH@[83; 87)
|
||||
PATH_SEGMENT@[83; 87)
|
||||
NAME_REF@[83; 87)
|
||||
IDENT@[83; 87) "Copy"
|
||||
R_PAREN@[87; 88)
|
||||
err: `expected COMMA`
|
||||
err: `expected R_ANGLE`
|
||||
WHITESPACE@[88; 89)
|
||||
PLUS@[89; 90)
|
||||
WHITESPACE@[90; 91)
|
||||
L_PAREN@[91; 92)
|
||||
QUESTION@[92; 93)
|
||||
PATH_TYPE@[93; 98)
|
||||
PATH@[93; 98)
|
||||
PATH_SEGMENT@[93; 98)
|
||||
NAME_REF@[93; 98)
|
||||
IDENT@[93; 98) "Sized"
|
||||
R_PAREN@[98; 99)
|
||||
WHITESPACE@[99; 100)
|
||||
PLUS@[100; 101)
|
||||
WHITESPACE@[101; 102)
|
||||
L_PAREN@[102; 103)
|
||||
FOR_TYPE@[103; 120)
|
||||
FOR_KW@[103; 106)
|
||||
TYPE_PARAM_LIST@[106; 110)
|
||||
L_ANGLE@[106; 107)
|
||||
LIFETIME_PARAM@[107; 109)
|
||||
LIFETIME@[107; 109) "'a"
|
||||
R_ANGLE@[109; 110)
|
||||
WHITESPACE@[110; 111)
|
||||
PATH_TYPE@[111; 120)
|
||||
PATH@[111; 120)
|
||||
PATH_SEGMENT@[111; 120)
|
||||
NAME_REF@[111; 116)
|
||||
IDENT@[111; 116) "Trait"
|
||||
TYPE_ARG_LIST@[116; 120)
|
||||
L_ANGLE@[116; 117)
|
||||
LIFETIME_ARG@[117; 119)
|
||||
LIFETIME@[117; 119) "'a"
|
||||
R_ANGLE@[119; 120)
|
||||
R_PAREN@[120; 121)
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[121; 123)
|
||||
ERROR@[121; 122)
|
||||
R_ANGLE@[121; 122)
|
||||
SEMI@[122; 123)
|
||||
WHITESPACE@[123; 128)
|
||||
LET_STMT@[128; 141)
|
||||
LET_KW@[128; 131)
|
||||
WHITESPACE@[131; 132)
|
||||
PLACEHOLDER_PAT@[132; 133)
|
||||
UNDERSCORE@[132; 133)
|
||||
COLON@[133; 134)
|
||||
WHITESPACE@[134; 135)
|
||||
PATH_TYPE@[135; 141)
|
||||
PATH@[135; 141)
|
||||
PATH_SEGMENT@[135; 141)
|
||||
NAME_REF@[135; 138)
|
||||
IDENT@[135; 138) "Box"
|
||||
TYPE_ARG_LIST@[138; 141)
|
||||
L_ANGLE@[138; 139)
|
||||
TYPE_ARG@[139; 141)
|
||||
PAREN_TYPE@[139; 141)
|
||||
L_PAREN@[139; 140)
|
||||
err: `expected type`
|
||||
ERROR@[140; 141)
|
||||
QUESTION@[140; 141)
|
||||
err: `expected R_PAREN`
|
||||
err: `expected COMMA`
|
||||
err: `expected R_ANGLE`
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[141; 146)
|
||||
PATH_EXPR@[141; 146)
|
||||
PATH@[141; 146)
|
||||
PATH_SEGMENT@[141; 146)
|
||||
NAME_REF@[141; 146)
|
||||
IDENT@[141; 146) "Sized"
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[146; 147)
|
||||
ERROR@[146; 147)
|
||||
R_PAREN@[146; 147)
|
||||
err: `expected SEMI`
|
||||
WHITESPACE@[147; 148)
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[148; 149)
|
||||
ERROR@[148; 149)
|
||||
PLUS@[148; 149)
|
||||
err: `expected SEMI`
|
||||
WHITESPACE@[149; 150)
|
||||
EXPR_STMT@[150; 151)
|
||||
PAREN_EXPR@[150; 151)
|
||||
L_PAREN@[150; 151)
|
||||
err: `expected expression`
|
||||
err: `expected R_PAREN`
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[151; 157)
|
||||
FOR_EXPR@[151; 157)
|
||||
FOR_KW@[151; 154)
|
||||
err: `expected pattern`
|
||||
ERROR@[154; 155)
|
||||
L_ANGLE@[154; 155)
|
||||
err: `expected IN_KW`
|
||||
err: `expected expression`
|
||||
ERROR@[155; 157)
|
||||
LIFETIME@[155; 157) "'a"
|
||||
err: `expected a block`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[157; 158)
|
||||
ERROR@[157; 158)
|
||||
R_ANGLE@[157; 158)
|
||||
err: `expected SEMI`
|
||||
WHITESPACE@[158; 159)
|
||||
EXPR_STMT@[159; 180)
|
||||
BIN_EXPR@[159; 180)
|
||||
BIN_EXPR@[159; 178)
|
||||
BIN_EXPR@[159; 169)
|
||||
BIN_EXPR@[159; 167)
|
||||
PATH_EXPR@[159; 164)
|
||||
PATH@[159; 164)
|
||||
PATH_SEGMENT@[159; 164)
|
||||
NAME_REF@[159; 164)
|
||||
IDENT@[159; 164) "Trait"
|
||||
L_ANGLE@[164; 165)
|
||||
err: `expected expression`
|
||||
ERROR@[165; 167)
|
||||
LIFETIME@[165; 167) "'a"
|
||||
R_ANGLE@[167; 168)
|
||||
err: `expected expression`
|
||||
ERROR@[168; 169)
|
||||
R_PAREN@[168; 169)
|
||||
WHITESPACE@[169; 170)
|
||||
PLUS@[170; 171)
|
||||
WHITESPACE@[171; 172)
|
||||
PAREN_EXPR@[172; 178)
|
||||
L_PAREN@[172; 173)
|
||||
PATH_EXPR@[173; 177)
|
||||
PATH@[173; 177)
|
||||
PATH_SEGMENT@[173; 177)
|
||||
NAME_REF@[173; 177)
|
||||
IDENT@[173; 177) "Copy"
|
||||
R_PAREN@[177; 178)
|
||||
R_ANGLE@[178; 179)
|
||||
err: `expected expression`
|
||||
ERROR@[179; 180)
|
||||
SEMI@[179; 180)
|
||||
err: `expected SEMI`
|
||||
WHITESPACE@[180; 185)
|
||||
LET_STMT@[185; 235)
|
||||
LET_KW@[185; 188)
|
||||
WHITESPACE@[188; 189)
|
||||
PLACEHOLDER_PAT@[189; 190)
|
||||
UNDERSCORE@[189; 190)
|
||||
COLON@[190; 191)
|
||||
WHITESPACE@[191; 192)
|
||||
PATH_TYPE@[192; 235)
|
||||
PATH@[192; 215)
|
||||
PATH_SEGMENT@[192; 215)
|
||||
NAME_REF@[192; 195)
|
||||
IDENT@[192; 195) "Box"
|
||||
TYPE_ARG_LIST@[195; 215)
|
||||
L_ANGLE@[195; 196)
|
||||
TYPE_ARG@[196; 215)
|
||||
PAREN_TYPE@[196; 215)
|
||||
L_PAREN@[196; 197)
|
||||
FOR_TYPE@[197; 214)
|
||||
FOR_KW@[197; 200)
|
||||
TYPE_PARAM_LIST@[200; 204)
|
||||
L_ANGLE@[200; 201)
|
||||
LIFETIME_PARAM@[201; 203)
|
||||
LIFETIME@[201; 203) "'a"
|
||||
R_ANGLE@[203; 204)
|
||||
WHITESPACE@[204; 205)
|
||||
PATH_TYPE@[205; 214)
|
||||
PATH@[205; 214)
|
||||
PATH_SEGMENT@[205; 214)
|
||||
NAME_REF@[205; 210)
|
||||
IDENT@[205; 210) "Trait"
|
||||
TYPE_ARG_LIST@[210; 214)
|
||||
L_ANGLE@[210; 211)
|
||||
LIFETIME_ARG@[211; 213)
|
||||
LIFETIME@[211; 213) "'a"
|
||||
R_ANGLE@[213; 214)
|
||||
R_PAREN@[214; 215)
|
||||
err: `expected COMMA`
|
||||
err: `expected R_ANGLE`
|
||||
WHITESPACE@[215; 216)
|
||||
PLUS@[216; 217)
|
||||
WHITESPACE@[217; 218)
|
||||
L_PAREN@[218; 219)
|
||||
PATH_TYPE@[219; 223)
|
||||
PATH@[219; 223)
|
||||
PATH_SEGMENT@[219; 223)
|
||||
NAME_REF@[219; 223)
|
||||
IDENT@[219; 223) "Copy"
|
||||
R_PAREN@[223; 224)
|
||||
WHITESPACE@[224; 225)
|
||||
PLUS@[225; 226)
|
||||
WHITESPACE@[226; 227)
|
||||
L_PAREN@[227; 228)
|
||||
QUESTION@[228; 229)
|
||||
PATH_TYPE@[229; 234)
|
||||
PATH@[229; 234)
|
||||
PATH_SEGMENT@[229; 234)
|
||||
NAME_REF@[229; 234)
|
||||
IDENT@[229; 234) "Sized"
|
||||
R_PAREN@[234; 235)
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[235; 237)
|
||||
ERROR@[235; 236)
|
||||
R_ANGLE@[235; 236)
|
||||
SEMI@[236; 237)
|
||||
WHITESPACE@[237; 238)
|
||||
R_CURLY@[238; 239)
|
||||
WHITESPACE@[239; 240)
|
|
@ -79,119 +79,186 @@ ROOT@[0; 350)
|
|||
IDENT@[134; 139) "macro"
|
||||
err: `expected SEMI`
|
||||
WHITESPACE@[139; 140)
|
||||
EXPR_STMT@[140; 203)
|
||||
CALL_EXPR@[140; 203)
|
||||
EXPR_STMT@[140; 154)
|
||||
CALL_EXPR@[140; 154)
|
||||
PATH_EXPR@[140; 150)
|
||||
PATH@[140; 150)
|
||||
PATH_SEGMENT@[140; 150)
|
||||
NAME_REF@[140; 150)
|
||||
IDENT@[140; 150) "test_merge"
|
||||
ARG_LIST@[150; 203)
|
||||
ARG_LIST@[150; 154)
|
||||
L_PAREN@[150; 151)
|
||||
ARRAY_EXPR@[151; 202)
|
||||
ARRAY_EXPR@[151; 154)
|
||||
L_BRACK@[151; 152)
|
||||
err: `expected expression`
|
||||
ERROR@[152; 153)
|
||||
DOLLAR@[152; 153)
|
||||
err: `expected COMMA`
|
||||
TUPLE_EXPR@[153; 166)
|
||||
PAREN_EXPR@[153; 154)
|
||||
L_PAREN@[153; 154)
|
||||
err: `expected expression`
|
||||
ERROR@[154; 155)
|
||||
DOLLAR@[154; 155)
|
||||
err: `expected COMMA`
|
||||
PATH_EXPR@[155; 160)
|
||||
PATH@[155; 160)
|
||||
PATH_SEGMENT@[155; 160)
|
||||
NAME_REF@[155; 160)
|
||||
IDENT@[155; 160) "input"
|
||||
err: `expected COMMA`
|
||||
err: `expected expression`
|
||||
ERROR@[160; 161)
|
||||
COLON@[160; 161)
|
||||
err: `expected COMMA`
|
||||
PATH_EXPR@[161; 165)
|
||||
PATH@[161; 165)
|
||||
PATH_SEGMENT@[161; 165)
|
||||
NAME_REF@[161; 165)
|
||||
IDENT@[161; 165) "expr"
|
||||
R_PAREN@[165; 166)
|
||||
COMMA@[166; 167)
|
||||
PREFIX_EXPR@[167; 170)
|
||||
STAR@[167; 168)
|
||||
WHITESPACE@[168; 169)
|
||||
err: `expected R_PAREN`
|
||||
err: `expected COMMA`
|
||||
err: `expected expression`
|
||||
ERROR@[169; 170)
|
||||
DOLLAR@[169; 170)
|
||||
err: `expected COMMA`
|
||||
BIN_EXPR@[170; 175)
|
||||
PAREN_EXPR@[170; 173)
|
||||
L_PAREN@[170; 171)
|
||||
err: `expected expression`
|
||||
ERROR@[171; 172)
|
||||
COMMA@[171; 172)
|
||||
R_PAREN@[172; 173)
|
||||
STAR@[173; 174)
|
||||
err: `expected R_BRACK`
|
||||
err: `expected COMMA`
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
ERROR@[174; 175)
|
||||
R_BRACK@[174; 175)
|
||||
COMMA@[175; 176)
|
||||
WHITESPACE@[176; 177)
|
||||
ARRAY_EXPR@[177; 202)
|
||||
L_BRACK@[177; 178)
|
||||
EXPR_STMT@[154; 155)
|
||||
ERROR@[154; 155)
|
||||
DOLLAR@[154; 155)
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[155; 160)
|
||||
PATH_EXPR@[155; 160)
|
||||
PATH@[155; 160)
|
||||
PATH_SEGMENT@[155; 160)
|
||||
NAME_REF@[155; 160)
|
||||
IDENT@[155; 160) "input"
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
ERROR@[178; 179)
|
||||
DOLLAR@[178; 179)
|
||||
err: `expected COMMA`
|
||||
TUPLE_EXPR@[179; 193)
|
||||
L_PAREN@[179; 180)
|
||||
err: `expected expression`
|
||||
ERROR@[180; 181)
|
||||
DOLLAR@[180; 181)
|
||||
err: `expected COMMA`
|
||||
PATH_EXPR@[181; 187)
|
||||
PATH@[181; 187)
|
||||
PATH_SEGMENT@[181; 187)
|
||||
NAME_REF@[181; 187)
|
||||
IDENT@[181; 187) "output"
|
||||
err: `expected COMMA`
|
||||
err: `expected expression`
|
||||
ERROR@[187; 188)
|
||||
COLON@[187; 188)
|
||||
err: `expected COMMA`
|
||||
PATH_EXPR@[188; 192)
|
||||
PATH@[188; 192)
|
||||
PATH_SEGMENT@[188; 192)
|
||||
NAME_REF@[188; 192)
|
||||
IDENT@[188; 192) "expr"
|
||||
R_PAREN@[192; 193)
|
||||
COMMA@[193; 194)
|
||||
PREFIX_EXPR@[194; 197)
|
||||
STAR@[194; 195)
|
||||
WHITESPACE@[195; 196)
|
||||
err: `expected expression`
|
||||
ERROR@[196; 197)
|
||||
DOLLAR@[196; 197)
|
||||
err: `expected COMMA`
|
||||
BIN_EXPR@[197; 202)
|
||||
PAREN_EXPR@[197; 200)
|
||||
L_PAREN@[197; 198)
|
||||
err: `expected expression`
|
||||
ERROR@[198; 199)
|
||||
COMMA@[198; 199)
|
||||
R_PAREN@[199; 200)
|
||||
STAR@[200; 201)
|
||||
err: `expected expression`
|
||||
ERROR@[201; 202)
|
||||
R_BRACK@[201; 202)
|
||||
err: `expected COMMA`
|
||||
err: `expected expression`
|
||||
err: `expected R_BRACK`
|
||||
err: `expected COMMA`
|
||||
err: `expected expression`
|
||||
err: `expected R_BRACK`
|
||||
R_PAREN@[202; 203)
|
||||
EXPR_STMT@[160; 161)
|
||||
ERROR@[160; 161)
|
||||
COLON@[160; 161)
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[161; 165)
|
||||
PATH_EXPR@[161; 165)
|
||||
PATH@[161; 165)
|
||||
PATH_SEGMENT@[161; 165)
|
||||
NAME_REF@[161; 165)
|
||||
IDENT@[161; 165) "expr"
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[165; 166)
|
||||
ERROR@[165; 166)
|
||||
R_PAREN@[165; 166)
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[166; 167)
|
||||
ERROR@[166; 167)
|
||||
COMMA@[166; 167)
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[167; 170)
|
||||
PREFIX_EXPR@[167; 170)
|
||||
STAR@[167; 168)
|
||||
WHITESPACE@[168; 169)
|
||||
err: `expected expression`
|
||||
ERROR@[169; 170)
|
||||
DOLLAR@[169; 170)
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[170; 171)
|
||||
PAREN_EXPR@[170; 171)
|
||||
L_PAREN@[170; 171)
|
||||
err: `expected expression`
|
||||
err: `expected R_PAREN`
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[171; 172)
|
||||
ERROR@[171; 172)
|
||||
COMMA@[171; 172)
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[172; 173)
|
||||
ERROR@[172; 173)
|
||||
R_PAREN@[172; 173)
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[173; 175)
|
||||
PREFIX_EXPR@[173; 175)
|
||||
STAR@[173; 174)
|
||||
err: `expected expression`
|
||||
ERROR@[174; 175)
|
||||
R_BRACK@[174; 175)
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[175; 176)
|
||||
ERROR@[175; 176)
|
||||
COMMA@[175; 176)
|
||||
err: `expected SEMI`
|
||||
WHITESPACE@[176; 177)
|
||||
EXPR_STMT@[177; 180)
|
||||
ARRAY_EXPR@[177; 180)
|
||||
L_BRACK@[177; 178)
|
||||
err: `expected expression`
|
||||
ERROR@[178; 179)
|
||||
DOLLAR@[178; 179)
|
||||
err: `expected COMMA`
|
||||
PAREN_EXPR@[179; 180)
|
||||
L_PAREN@[179; 180)
|
||||
err: `expected expression`
|
||||
err: `expected R_PAREN`
|
||||
err: `expected COMMA`
|
||||
err: `expected expression`
|
||||
err: `expected R_BRACK`
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[180; 181)
|
||||
ERROR@[180; 181)
|
||||
DOLLAR@[180; 181)
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[181; 187)
|
||||
PATH_EXPR@[181; 187)
|
||||
PATH@[181; 187)
|
||||
PATH_SEGMENT@[181; 187)
|
||||
NAME_REF@[181; 187)
|
||||
IDENT@[181; 187) "output"
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[187; 188)
|
||||
ERROR@[187; 188)
|
||||
COLON@[187; 188)
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[188; 192)
|
||||
PATH_EXPR@[188; 192)
|
||||
PATH@[188; 192)
|
||||
PATH_SEGMENT@[188; 192)
|
||||
NAME_REF@[188; 192)
|
||||
IDENT@[188; 192) "expr"
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[192; 193)
|
||||
ERROR@[192; 193)
|
||||
R_PAREN@[192; 193)
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[193; 194)
|
||||
ERROR@[193; 194)
|
||||
COMMA@[193; 194)
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[194; 197)
|
||||
PREFIX_EXPR@[194; 197)
|
||||
STAR@[194; 195)
|
||||
WHITESPACE@[195; 196)
|
||||
err: `expected expression`
|
||||
ERROR@[196; 197)
|
||||
DOLLAR@[196; 197)
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[197; 198)
|
||||
PAREN_EXPR@[197; 198)
|
||||
L_PAREN@[197; 198)
|
||||
err: `expected expression`
|
||||
err: `expected R_PAREN`
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[198; 199)
|
||||
ERROR@[198; 199)
|
||||
COMMA@[198; 199)
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[199; 200)
|
||||
ERROR@[199; 200)
|
||||
R_PAREN@[199; 200)
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[200; 202)
|
||||
PREFIX_EXPR@[200; 202)
|
||||
STAR@[200; 201)
|
||||
err: `expected expression`
|
||||
ERROR@[201; 202)
|
||||
R_BRACK@[201; 202)
|
||||
err: `expected SEMI`
|
||||
err: `expected expression`
|
||||
EXPR_STMT@[202; 203)
|
||||
ERROR@[202; 203)
|
||||
R_PAREN@[202; 203)
|
||||
err: `expected SEMI`
|
||||
WHITESPACE@[203; 204)
|
||||
BLOCK_EXPR@[204; 346)
|
||||
BLOCK@[204; 346)
|
||||
|
|
Loading…
Reference in a new issue