From d82a21ab202b2f5e8c96847802d806735ec74ad3 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 31 Jul 2018 23:13:08 +0300 Subject: lambda expressions --- .../data/parser/inline/0033_fn_value_parameters.rs | 4 - .../parser/inline/0033_fn_value_parameters.txt | 99 ---------------------- tests/data/parser/inline/0063_lambda_expr.rs | 6 ++ tests/data/parser/inline/0063_lambda_expr.txt | 91 ++++++++++++++++++++ tests/data/parser/inline/0064_param_list.rs | 4 + tests/data/parser/inline/0064_param_list.txt | 99 ++++++++++++++++++++++ 6 files changed, 200 insertions(+), 103 deletions(-) delete mode 100644 tests/data/parser/inline/0033_fn_value_parameters.rs delete mode 100644 tests/data/parser/inline/0033_fn_value_parameters.txt create mode 100644 tests/data/parser/inline/0063_lambda_expr.rs create mode 100644 tests/data/parser/inline/0063_lambda_expr.txt create mode 100644 tests/data/parser/inline/0064_param_list.rs create mode 100644 tests/data/parser/inline/0064_param_list.txt (limited to 'tests') diff --git a/tests/data/parser/inline/0033_fn_value_parameters.rs b/tests/data/parser/inline/0033_fn_value_parameters.rs deleted file mode 100644 index 9d55bedbb..000000000 --- a/tests/data/parser/inline/0033_fn_value_parameters.rs +++ /dev/null @@ -1,4 +0,0 @@ -fn a() {} -fn b(x: i32) {} -fn c(x: i32, ) {} -fn d(x: i32, y: ()) {} diff --git a/tests/data/parser/inline/0033_fn_value_parameters.txt b/tests/data/parser/inline/0033_fn_value_parameters.txt deleted file mode 100644 index 96e03d71a..000000000 --- a/tests/data/parser/inline/0033_fn_value_parameters.txt +++ /dev/null @@ -1,99 +0,0 @@ -FILE@[0; 67) - FN_ITEM@[0; 10) - FN_KW@[0; 2) - NAME@[2; 4) - WHITESPACE@[2; 3) - IDENT@[3; 4) "a" - PARAM_LIST@[4; 7) - L_PAREN@[4; 5) - R_PAREN@[5; 6) - WHITESPACE@[6; 7) - BLOCK@[7; 10) - L_CURLY@[7; 8) - R_CURLY@[8; 9) - WHITESPACE@[9; 10) - FN_ITEM@[10; 26) - FN_KW@[10; 12) - NAME@[12; 14) - WHITESPACE@[12; 13) - IDENT@[13; 14) "b" - PARAM_LIST@[14; 23) - L_PAREN@[14; 15) - VALUE_PARAMETER@[15; 21) - BIND_PAT@[15; 16) - NAME@[15; 16) - IDENT@[15; 16) "x" - COLON@[16; 17) - PATH_TYPE@[17; 21) - PATH@[17; 21) - PATH_SEGMENT@[17; 21) - NAME_REF@[17; 21) - WHITESPACE@[17; 18) - IDENT@[18; 21) "i32" - R_PAREN@[21; 22) - WHITESPACE@[22; 23) - BLOCK@[23; 26) - L_CURLY@[23; 24) - R_CURLY@[24; 25) - WHITESPACE@[25; 26) - FN_ITEM@[26; 44) - FN_KW@[26; 28) - NAME@[28; 30) - WHITESPACE@[28; 29) - IDENT@[29; 30) "c" - PARAM_LIST@[30; 41) - L_PAREN@[30; 31) - VALUE_PARAMETER@[31; 37) - BIND_PAT@[31; 32) - NAME@[31; 32) - IDENT@[31; 32) "x" - COLON@[32; 33) - PATH_TYPE@[33; 37) - PATH@[33; 37) - PATH_SEGMENT@[33; 37) - NAME_REF@[33; 37) - WHITESPACE@[33; 34) - IDENT@[34; 37) "i32" - COMMA@[37; 38) - WHITESPACE@[38; 39) - R_PAREN@[39; 40) - WHITESPACE@[40; 41) - BLOCK@[41; 44) - L_CURLY@[41; 42) - R_CURLY@[42; 43) - WHITESPACE@[43; 44) - FN_ITEM@[44; 67) - FN_KW@[44; 46) - NAME@[46; 48) - WHITESPACE@[46; 47) - IDENT@[47; 48) "d" - PARAM_LIST@[48; 64) - L_PAREN@[48; 49) - VALUE_PARAMETER@[49; 55) - BIND_PAT@[49; 50) - NAME@[49; 50) - IDENT@[49; 50) "x" - COLON@[50; 51) - PATH_TYPE@[51; 55) - PATH@[51; 55) - PATH_SEGMENT@[51; 55) - NAME_REF@[51; 55) - WHITESPACE@[51; 52) - IDENT@[52; 55) "i32" - COMMA@[55; 56) - VALUE_PARAMETER@[56; 62) - BIND_PAT@[56; 58) - NAME@[56; 58) - WHITESPACE@[56; 57) - IDENT@[57; 58) "y" - COLON@[58; 59) - TUPLE_TYPE@[59; 62) - WHITESPACE@[59; 60) - L_PAREN@[60; 61) - R_PAREN@[61; 62) - R_PAREN@[62; 63) - WHITESPACE@[63; 64) - BLOCK@[64; 67) - L_CURLY@[64; 65) - R_CURLY@[65; 66) - WHITESPACE@[66; 67) diff --git a/tests/data/parser/inline/0063_lambda_expr.rs b/tests/data/parser/inline/0063_lambda_expr.rs new file mode 100644 index 000000000..3c30a9209 --- /dev/null +++ b/tests/data/parser/inline/0063_lambda_expr.rs @@ -0,0 +1,6 @@ +fn foo() { + || (); + || -> i32 { 92 }; + |x| x; + |x: i32,| x; +} diff --git a/tests/data/parser/inline/0063_lambda_expr.txt b/tests/data/parser/inline/0063_lambda_expr.txt new file mode 100644 index 000000000..b1edffc14 --- /dev/null +++ b/tests/data/parser/inline/0063_lambda_expr.txt @@ -0,0 +1,91 @@ +FILE@[0; 74) + FN_ITEM@[0; 74) + FN_KW@[0; 2) + NAME@[2; 6) + WHITESPACE@[2; 3) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 9) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 74) + L_CURLY@[9; 10) + EXPR_STMT@[10; 26) + LAMBDA_EXPR@[10; 20) + PARAM_LIST@[10; 18) + WHITESPACE@[10; 15) + PIPE@[15; 16) + PIPE@[16; 17) + WHITESPACE@[17; 18) + TUPLE_EXPR@[18; 20) + L_PAREN@[18; 19) + R_PAREN@[19; 20) + SEMI@[20; 21) + WHITESPACE@[21; 26) + EXPR_STMT@[26; 48) + LAMBDA_EXPR@[26; 42) + PARAM_LIST@[26; 29) + PIPE@[26; 27) + PIPE@[27; 28) + WHITESPACE@[28; 29) + THIN_ARROW@[29; 31) + PATH_TYPE@[31; 36) + PATH@[31; 36) + PATH_SEGMENT@[31; 36) + NAME_REF@[31; 36) + WHITESPACE@[31; 32) + IDENT@[32; 35) "i32" + WHITESPACE@[35; 36) + BLOCK@[36; 42) + L_CURLY@[36; 37) + LITERAL@[37; 41) + WHITESPACE@[37; 38) + INT_NUMBER@[38; 40) + WHITESPACE@[40; 41) + R_CURLY@[41; 42) + SEMI@[42; 43) + WHITESPACE@[43; 48) + EXPR_STMT@[48; 59) + LAMBDA_EXPR@[48; 53) + PARAM_LIST@[48; 52) + PIPE@[48; 49) + VALUE_PARAMETER@[49; 50) + BIND_PAT@[49; 50) + NAME@[49; 50) + IDENT@[49; 50) "x" + PIPE@[50; 51) + WHITESPACE@[51; 52) + PATH_EXPR@[52; 53) + PATH@[52; 53) + PATH_SEGMENT@[52; 53) + NAME_REF@[52; 53) + IDENT@[52; 53) "x" + SEMI@[53; 54) + WHITESPACE@[54; 59) + EXPR_STMT@[59; 72) + LAMBDA_EXPR@[59; 70) + PARAM_LIST@[59; 69) + PIPE@[59; 60) + VALUE_PARAMETER@[60; 66) + BIND_PAT@[60; 61) + NAME@[60; 61) + IDENT@[60; 61) "x" + COLON@[61; 62) + PATH_TYPE@[62; 66) + PATH@[62; 66) + PATH_SEGMENT@[62; 66) + NAME_REF@[62; 66) + WHITESPACE@[62; 63) + IDENT@[63; 66) "i32" + COMMA@[66; 67) + PIPE@[67; 68) + WHITESPACE@[68; 69) + PATH_EXPR@[69; 70) + PATH@[69; 70) + PATH_SEGMENT@[69; 70) + NAME_REF@[69; 70) + IDENT@[69; 70) "x" + SEMI@[70; 71) + WHITESPACE@[71; 72) + R_CURLY@[72; 73) + WHITESPACE@[73; 74) diff --git a/tests/data/parser/inline/0064_param_list.rs b/tests/data/parser/inline/0064_param_list.rs new file mode 100644 index 000000000..9d55bedbb --- /dev/null +++ b/tests/data/parser/inline/0064_param_list.rs @@ -0,0 +1,4 @@ +fn a() {} +fn b(x: i32) {} +fn c(x: i32, ) {} +fn d(x: i32, y: ()) {} diff --git a/tests/data/parser/inline/0064_param_list.txt b/tests/data/parser/inline/0064_param_list.txt new file mode 100644 index 000000000..96e03d71a --- /dev/null +++ b/tests/data/parser/inline/0064_param_list.txt @@ -0,0 +1,99 @@ +FILE@[0; 67) + FN_ITEM@[0; 10) + FN_KW@[0; 2) + NAME@[2; 4) + WHITESPACE@[2; 3) + IDENT@[3; 4) "a" + PARAM_LIST@[4; 7) + L_PAREN@[4; 5) + R_PAREN@[5; 6) + WHITESPACE@[6; 7) + BLOCK@[7; 10) + L_CURLY@[7; 8) + R_CURLY@[8; 9) + WHITESPACE@[9; 10) + FN_ITEM@[10; 26) + FN_KW@[10; 12) + NAME@[12; 14) + WHITESPACE@[12; 13) + IDENT@[13; 14) "b" + PARAM_LIST@[14; 23) + L_PAREN@[14; 15) + VALUE_PARAMETER@[15; 21) + BIND_PAT@[15; 16) + NAME@[15; 16) + IDENT@[15; 16) "x" + COLON@[16; 17) + PATH_TYPE@[17; 21) + PATH@[17; 21) + PATH_SEGMENT@[17; 21) + NAME_REF@[17; 21) + WHITESPACE@[17; 18) + IDENT@[18; 21) "i32" + R_PAREN@[21; 22) + WHITESPACE@[22; 23) + BLOCK@[23; 26) + L_CURLY@[23; 24) + R_CURLY@[24; 25) + WHITESPACE@[25; 26) + FN_ITEM@[26; 44) + FN_KW@[26; 28) + NAME@[28; 30) + WHITESPACE@[28; 29) + IDENT@[29; 30) "c" + PARAM_LIST@[30; 41) + L_PAREN@[30; 31) + VALUE_PARAMETER@[31; 37) + BIND_PAT@[31; 32) + NAME@[31; 32) + IDENT@[31; 32) "x" + COLON@[32; 33) + PATH_TYPE@[33; 37) + PATH@[33; 37) + PATH_SEGMENT@[33; 37) + NAME_REF@[33; 37) + WHITESPACE@[33; 34) + IDENT@[34; 37) "i32" + COMMA@[37; 38) + WHITESPACE@[38; 39) + R_PAREN@[39; 40) + WHITESPACE@[40; 41) + BLOCK@[41; 44) + L_CURLY@[41; 42) + R_CURLY@[42; 43) + WHITESPACE@[43; 44) + FN_ITEM@[44; 67) + FN_KW@[44; 46) + NAME@[46; 48) + WHITESPACE@[46; 47) + IDENT@[47; 48) "d" + PARAM_LIST@[48; 64) + L_PAREN@[48; 49) + VALUE_PARAMETER@[49; 55) + BIND_PAT@[49; 50) + NAME@[49; 50) + IDENT@[49; 50) "x" + COLON@[50; 51) + PATH_TYPE@[51; 55) + PATH@[51; 55) + PATH_SEGMENT@[51; 55) + NAME_REF@[51; 55) + WHITESPACE@[51; 52) + IDENT@[52; 55) "i32" + COMMA@[55; 56) + VALUE_PARAMETER@[56; 62) + BIND_PAT@[56; 58) + NAME@[56; 58) + WHITESPACE@[56; 57) + IDENT@[57; 58) "y" + COLON@[58; 59) + TUPLE_TYPE@[59; 62) + WHITESPACE@[59; 60) + L_PAREN@[60; 61) + R_PAREN@[61; 62) + R_PAREN@[62; 63) + WHITESPACE@[63; 64) + BLOCK@[64; 67) + L_CURLY@[64; 65) + R_CURLY@[65; 66) + WHITESPACE@[66; 67) -- cgit v1.2.3