Closure params test

This commit is contained in:
Toby Dimmick 2020-02-06 20:39:27 +00:00
parent e1921ea59c
commit 0183952d2e
3 changed files with 77 additions and 0 deletions

View File

@ -125,6 +125,10 @@ fn value_parameter(p: &mut Parser, flavor: Flavor) {
types::type_(p);
}
}
// test closure_params
// fn main() {
// let foo = |bar, baz: Baz, qux: Qux::Quux| ();
// }
Flavor::Closure => {
patterns::pattern(p);
if p.at(T![:]) && !p.at(T![::]) {

View File

@ -0,0 +1,3 @@
fn main() {
let foo = |bar, baz: Baz, qux: Qux::Quux| ();
}

View File

@ -0,0 +1,70 @@
SOURCE_FILE@[0; 63)
FN_DEF@[0; 62)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 7)
IDENT@[3; 7) "main"
PARAM_LIST@[7; 9)
L_PAREN@[7; 8) "("
R_PAREN@[8; 9) ")"
WHITESPACE@[9; 10) " "
BLOCK_EXPR@[10; 62)
BLOCK@[10; 62)
L_CURLY@[10; 11) "{"
WHITESPACE@[11; 15) "\n "
LET_STMT@[15; 60)
LET_KW@[15; 18) "let"
WHITESPACE@[18; 19) " "
BIND_PAT@[19; 22)
NAME@[19; 22)
IDENT@[19; 22) "foo"
WHITESPACE@[22; 23) " "
EQ@[23; 24) "="
WHITESPACE@[24; 25) " "
LAMBDA_EXPR@[25; 59)
PARAM_LIST@[25; 56)
PIPE@[25; 26) "|"
PARAM@[26; 29)
BIND_PAT@[26; 29)
NAME@[26; 29)
IDENT@[26; 29) "bar"
COMMA@[29; 30) ","
WHITESPACE@[30; 31) " "
PARAM@[31; 39)
BIND_PAT@[31; 34)
NAME@[31; 34)
IDENT@[31; 34) "baz"
COLON@[34; 35) ":"
WHITESPACE@[35; 36) " "
PATH_TYPE@[36; 39)
PATH@[36; 39)
PATH_SEGMENT@[36; 39)
NAME_REF@[36; 39)
IDENT@[36; 39) "Baz"
COMMA@[39; 40) ","
WHITESPACE@[40; 41) " "
PARAM@[41; 55)
BIND_PAT@[41; 44)
NAME@[41; 44)
IDENT@[41; 44) "qux"
COLON@[44; 45) ":"
WHITESPACE@[45; 46) " "
PATH_TYPE@[46; 55)
PATH@[46; 55)
PATH@[46; 49)
PATH_SEGMENT@[46; 49)
NAME_REF@[46; 49)
IDENT@[46; 49) "Qux"
COLONCOLON@[49; 51) "::"
PATH_SEGMENT@[51; 55)
NAME_REF@[51; 55)
IDENT@[51; 55) "Quux"
PIPE@[55; 56) "|"
WHITESPACE@[56; 57) " "
TUPLE_EXPR@[57; 59)
L_PAREN@[57; 58) "("
R_PAREN@[58; 59) ")"
SEMI@[59; 60) ";"
WHITESPACE@[60; 61) "\n"
R_CURLY@[61; 62) "}"
WHITESPACE@[62; 63) "\n"