Use names&refs
This commit is contained in:
parent
63e2ed4e75
commit
3d70aeb412
10 changed files with 56 additions and 32 deletions
|
|
@ -35,7 +35,7 @@ fn type_arg(p: &mut Parser) {
|
|||
m.complete(p, LIFETIME_ARG);
|
||||
},
|
||||
IDENT if p.nth(1) == EQ => {
|
||||
p.bump();
|
||||
name_ref(p);
|
||||
p.bump();
|
||||
types::type_(p);
|
||||
m.complete(p, ASSOC_TYPE_ARG);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ pub(super) fn list(p: &mut Parser) {
|
|||
fn type_param(p: &mut Parser) {
|
||||
assert!(p.at(IDENT));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
name(p);
|
||||
if p.at(COLON) {
|
||||
bounds(p);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@ FILE@[0; 21)
|
|||
TYPE_PARAM_LIST@[11; 15)
|
||||
L_ANGLE@[11; 12)
|
||||
TYPE_PARAM@[12; 13)
|
||||
IDENT@[12; 13) "T"
|
||||
NAME@[12; 13)
|
||||
IDENT@[12; 13) "T"
|
||||
R_ANGLE@[13; 14)
|
||||
WHITESPACE@[14; 15)
|
||||
EQ@[15; 16)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@ FILE@[0; 35)
|
|||
TYPE_PARAM_LIST@[8; 33)
|
||||
L_ANGLE@[8; 9)
|
||||
TYPE_PARAM@[9; 32)
|
||||
IDENT@[9; 10) "T"
|
||||
NAME@[9; 10)
|
||||
IDENT@[9; 10) "T"
|
||||
COLON@[10; 11)
|
||||
WHITESPACE@[11; 12)
|
||||
LIFETIME@[12; 14) "'a"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,9 @@ FILE@[0; 19)
|
|||
TYPE_PARAM_LIST@[8; 17)
|
||||
L_ANGLE@[8; 9)
|
||||
TYPE_PARAM@[9; 16)
|
||||
IDENT@[9; 10) "T"
|
||||
WHITESPACE@[10; 11)
|
||||
NAME@[9; 11)
|
||||
IDENT@[9; 10) "T"
|
||||
WHITESPACE@[10; 11)
|
||||
EQ@[11; 12)
|
||||
PATH_TYPE@[12; 16)
|
||||
PATH@[12; 16)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@ FILE@[0; 42)
|
|||
TYPE_PARAM_LIST@[7; 10)
|
||||
L_ANGLE@[7; 8)
|
||||
TYPE_PARAM@[8; 9)
|
||||
IDENT@[8; 9) "U"
|
||||
NAME@[8; 9)
|
||||
IDENT@[8; 9) "U"
|
||||
R_ANGLE@[9; 10)
|
||||
COLON@[10; 11)
|
||||
PATH@[11; 17)
|
||||
|
|
|
|||
|
|
@ -26,8 +26,9 @@ FILE@[0; 35)
|
|||
IDENT@[20; 23) "i32"
|
||||
COMMA@[23; 24)
|
||||
ASSOC_TYPE_ARG@[24; 33)
|
||||
WHITESPACE@[24; 25)
|
||||
IDENT@[25; 29) "Item"
|
||||
NAME_REF@[24; 29)
|
||||
WHITESPACE@[24; 25)
|
||||
IDENT@[25; 29) "Item"
|
||||
EQ@[29; 30)
|
||||
PATH_TYPE@[30; 33)
|
||||
PATH@[30; 33)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@ FILE@[0; 290)
|
|||
TYPE_PARAM_LIST@[9; 12)
|
||||
L_ANGLE@[9; 10)
|
||||
TYPE_PARAM@[10; 11)
|
||||
IDENT@[10; 11) "T"
|
||||
NAME@[10; 11)
|
||||
IDENT@[10; 11) "T"
|
||||
R_ANGLE@[11; 12)
|
||||
SEMI@[12; 13)
|
||||
WHITESPACE@[13; 14)
|
||||
|
|
@ -19,7 +20,8 @@ FILE@[0; 290)
|
|||
TYPE_PARAM_LIST@[23; 26)
|
||||
L_ANGLE@[23; 24)
|
||||
TYPE_PARAM@[24; 25)
|
||||
IDENT@[24; 25) "T"
|
||||
NAME@[24; 25)
|
||||
IDENT@[24; 25) "T"
|
||||
R_ANGLE@[25; 26)
|
||||
L_PAREN@[26; 27)
|
||||
POS_FIELD@[27; 30)
|
||||
|
|
@ -39,7 +41,8 @@ FILE@[0; 290)
|
|||
TYPE_PARAM_LIST@[42; 46)
|
||||
L_ANGLE@[42; 43)
|
||||
TYPE_PARAM@[43; 44)
|
||||
IDENT@[43; 44) "T"
|
||||
NAME@[43; 44)
|
||||
IDENT@[43; 44) "T"
|
||||
R_ANGLE@[44; 45)
|
||||
WHITESPACE@[45; 46)
|
||||
L_CURLY@[46; 47)
|
||||
|
|
@ -205,7 +208,8 @@ FILE@[0; 290)
|
|||
TYPE_PARAM_LIST@[245; 248)
|
||||
L_ANGLE@[245; 246)
|
||||
TYPE_PARAM@[246; 247)
|
||||
IDENT@[246; 247) "T"
|
||||
NAME@[246; 247)
|
||||
IDENT@[246; 247) "T"
|
||||
R_ANGLE@[247; 248)
|
||||
SEMI@[248; 249)
|
||||
WHITESPACE@[249; 250)
|
||||
|
|
@ -217,11 +221,13 @@ FILE@[0; 290)
|
|||
TYPE_PARAM_LIST@[260; 266)
|
||||
L_ANGLE@[260; 261)
|
||||
TYPE_PARAM@[261; 262)
|
||||
IDENT@[261; 262) "T"
|
||||
NAME@[261; 262)
|
||||
IDENT@[261; 262) "T"
|
||||
COMMA@[262; 263)
|
||||
TYPE_PARAM@[263; 265)
|
||||
WHITESPACE@[263; 264)
|
||||
IDENT@[264; 265) "U"
|
||||
NAME@[263; 265)
|
||||
WHITESPACE@[263; 264)
|
||||
IDENT@[264; 265) "U"
|
||||
R_ANGLE@[265; 266)
|
||||
SEMI@[266; 267)
|
||||
WHITESPACE@[267; 268)
|
||||
|
|
@ -236,12 +242,14 @@ FILE@[0; 290)
|
|||
LIFETIME@[279; 281) "'a"
|
||||
COMMA@[281; 282)
|
||||
TYPE_PARAM@[282; 284)
|
||||
WHITESPACE@[282; 283)
|
||||
IDENT@[283; 284) "T"
|
||||
NAME@[282; 284)
|
||||
WHITESPACE@[282; 283)
|
||||
IDENT@[283; 284) "T"
|
||||
COMMA@[284; 285)
|
||||
TYPE_PARAM@[285; 287)
|
||||
WHITESPACE@[285; 286)
|
||||
IDENT@[286; 287) "U"
|
||||
NAME@[285; 287)
|
||||
WHITESPACE@[285; 286)
|
||||
IDENT@[286; 287) "U"
|
||||
R_ANGLE@[287; 288)
|
||||
SEMI@[288; 289)
|
||||
WHITESPACE@[289; 290)
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@ FILE@[0; 182)
|
|||
TYPE_PARAM_LIST@[20; 24)
|
||||
L_ANGLE@[20; 21)
|
||||
TYPE_PARAM@[21; 22)
|
||||
IDENT@[21; 22) "T"
|
||||
NAME@[21; 22)
|
||||
IDENT@[21; 22) "T"
|
||||
R_ANGLE@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
L_CURLY@[24; 25)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@ FILE@[0; 200)
|
|||
TYPE_PARAM_LIST@[8; 11)
|
||||
L_ANGLE@[8; 9)
|
||||
TYPE_PARAM@[9; 10)
|
||||
IDENT@[9; 10) "T"
|
||||
NAME@[9; 10)
|
||||
IDENT@[9; 10) "T"
|
||||
R_ANGLE@[10; 11)
|
||||
SEMI@[11; 12)
|
||||
WHITESPACE@[12; 13)
|
||||
|
|
@ -19,7 +20,8 @@ FILE@[0; 200)
|
|||
TYPE_PARAM_LIST@[21; 25)
|
||||
L_ANGLE@[21; 22)
|
||||
TYPE_PARAM@[22; 24)
|
||||
IDENT@[22; 23) "T"
|
||||
NAME@[22; 23)
|
||||
IDENT@[22; 23) "T"
|
||||
COLON@[23; 24)
|
||||
R_ANGLE@[24; 25)
|
||||
SEMI@[25; 26)
|
||||
|
|
@ -32,7 +34,8 @@ FILE@[0; 200)
|
|||
TYPE_PARAM_LIST@[35; 42)
|
||||
L_ANGLE@[35; 36)
|
||||
TYPE_PARAM@[36; 41)
|
||||
IDENT@[36; 37) "T"
|
||||
NAME@[36; 37)
|
||||
IDENT@[36; 37) "T"
|
||||
COLON@[37; 38)
|
||||
WHITESPACE@[38; 39)
|
||||
LIFETIME@[39; 41) "'a"
|
||||
|
|
@ -47,7 +50,8 @@ FILE@[0; 200)
|
|||
TYPE_PARAM_LIST@[52; 62)
|
||||
L_ANGLE@[52; 53)
|
||||
TYPE_PARAM@[53; 61)
|
||||
IDENT@[53; 54) "T"
|
||||
NAME@[53; 54)
|
||||
IDENT@[53; 54) "T"
|
||||
COLON@[54; 55)
|
||||
WHITESPACE@[55; 56)
|
||||
LIFETIME@[56; 58) "'a"
|
||||
|
|
@ -65,7 +69,8 @@ FILE@[0; 200)
|
|||
TYPE_PARAM_LIST@[72; 85)
|
||||
L_ANGLE@[72; 73)
|
||||
TYPE_PARAM@[73; 84)
|
||||
IDENT@[73; 74) "T"
|
||||
NAME@[73; 74)
|
||||
IDENT@[73; 74) "T"
|
||||
COLON@[74; 75)
|
||||
WHITESPACE@[75; 76)
|
||||
LIFETIME@[76; 78) "'a"
|
||||
|
|
@ -85,7 +90,8 @@ FILE@[0; 200)
|
|||
TYPE_PARAM_LIST@[95; 115)
|
||||
L_ANGLE@[95; 96)
|
||||
TYPE_PARAM@[96; 114)
|
||||
IDENT@[96; 97) "T"
|
||||
NAME@[96; 97)
|
||||
IDENT@[96; 97) "T"
|
||||
COLON@[97; 98)
|
||||
WHITESPACE@[98; 99)
|
||||
LIFETIME@[99; 101) "'a"
|
||||
|
|
@ -111,7 +117,8 @@ FILE@[0; 200)
|
|||
TYPE_PARAM_LIST@[125; 142)
|
||||
L_ANGLE@[125; 126)
|
||||
TYPE_PARAM@[126; 141)
|
||||
IDENT@[126; 127) "T"
|
||||
NAME@[126; 127)
|
||||
IDENT@[126; 127) "T"
|
||||
COLON@[127; 128)
|
||||
PATH@[128; 135)
|
||||
PATH_SEGMENT@[128; 135)
|
||||
|
|
@ -136,7 +143,8 @@ FILE@[0; 200)
|
|||
TYPE_PARAM_LIST@[152; 179)
|
||||
L_ANGLE@[152; 153)
|
||||
TYPE_PARAM@[153; 178)
|
||||
IDENT@[153; 154) "T"
|
||||
NAME@[153; 154)
|
||||
IDENT@[153; 154) "T"
|
||||
COLON@[154; 155)
|
||||
PATH@[155; 162)
|
||||
PATH_SEGMENT@[155; 162)
|
||||
|
|
@ -170,12 +178,14 @@ FILE@[0; 200)
|
|||
TYPE_PARAM_LIST@[189; 198)
|
||||
L_ANGLE@[189; 190)
|
||||
TYPE_PARAM@[190; 192)
|
||||
IDENT@[190; 191) "T"
|
||||
NAME@[190; 191)
|
||||
IDENT@[190; 191) "T"
|
||||
COLON@[191; 192)
|
||||
COMMA@[192; 193)
|
||||
TYPE_PARAM@[193; 196)
|
||||
WHITESPACE@[193; 194)
|
||||
IDENT@[194; 195) "U"
|
||||
NAME@[193; 195)
|
||||
WHITESPACE@[193; 194)
|
||||
IDENT@[194; 195) "U"
|
||||
COLON@[195; 196)
|
||||
COMMA@[196; 197)
|
||||
R_ANGLE@[197; 198)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue