From 8f21afacfc981e93f2ad78cd340e9b6c0e821d92 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 8 Aug 2018 18:34:26 +0300 Subject: Optional patterns in fn types --- .../inline/0096_value_parameters_no_patterns.rs | 1 + .../inline/0096_value_parameters_no_patterns.txt | 81 ++++++++++++++++++++++ .../parser/inline/0097_param_list_opt_patterns.rs | 1 + .../parser/inline/0097_param_list_opt_patterns.txt | 43 ++++++++++++ 4 files changed, 126 insertions(+) create mode 100644 tests/data/parser/inline/0096_value_parameters_no_patterns.rs create mode 100644 tests/data/parser/inline/0096_value_parameters_no_patterns.txt create mode 100644 tests/data/parser/inline/0097_param_list_opt_patterns.rs create mode 100644 tests/data/parser/inline/0097_param_list_opt_patterns.txt (limited to 'tests/data') diff --git a/tests/data/parser/inline/0096_value_parameters_no_patterns.rs b/tests/data/parser/inline/0096_value_parameters_no_patterns.rs new file mode 100644 index 000000000..d8c23c76a --- /dev/null +++ b/tests/data/parser/inline/0096_value_parameters_no_patterns.rs @@ -0,0 +1 @@ +type F = Box; diff --git a/tests/data/parser/inline/0096_value_parameters_no_patterns.txt b/tests/data/parser/inline/0096_value_parameters_no_patterns.txt new file mode 100644 index 000000000..c3f9bf685 --- /dev/null +++ b/tests/data/parser/inline/0096_value_parameters_no_patterns.txt @@ -0,0 +1,81 @@ +FILE@[0; 54) + TYPE_ITEM@[0; 53) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "F" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + PATH_TYPE@[9; 52) + PATH@[9; 52) + PATH_SEGMENT@[9; 52) + NAME_REF@[9; 12) + IDENT@[9; 12) "Box" + TYPE_ARG_LIST@[12; 52) + L_ANGLE@[12; 13) + TYPE_ARG@[13; 51) + PATH_TYPE@[13; 51) + PATH@[13; 51) + PATH_SEGMENT@[13; 51) + NAME_REF@[13; 15) + IDENT@[13; 15) "Fn" + PARAM_LIST@[15; 51) + L_PAREN@[15; 16) + PARAM@[16; 22) + BIND_PAT@[16; 17) + NAME@[16; 17) + IDENT@[16; 17) "a" + COLON@[17; 18) + WHITESPACE@[18; 19) + PATH_TYPE@[19; 22) + PATH@[19; 22) + PATH_SEGMENT@[19; 22) + NAME_REF@[19; 22) + IDENT@[19; 22) "i32" + COMMA@[22; 23) + WHITESPACE@[23; 24) + PARAM@[24; 32) + REF_PAT@[24; 26) + AMP@[24; 25) + BIND_PAT@[25; 26) + NAME@[25; 26) + IDENT@[25; 26) "b" + COLON@[26; 27) + WHITESPACE@[27; 28) + REFERENCE_TYPE@[28; 32) + AMP@[28; 29) + PATH_TYPE@[29; 32) + PATH@[29; 32) + PATH_SEGMENT@[29; 32) + NAME_REF@[29; 32) + IDENT@[29; 32) "i32" + COMMA@[32; 33) + WHITESPACE@[33; 34) + PARAM@[34; 46) + REF_PAT@[34; 40) + AMP@[34; 35) + MUT_KW@[35; 38) + WHITESPACE@[38; 39) + BIND_PAT@[39; 40) + NAME@[39; 40) + IDENT@[39; 40) "c" + COLON@[40; 41) + WHITESPACE@[41; 42) + REFERENCE_TYPE@[42; 46) + AMP@[42; 43) + PATH_TYPE@[43; 46) + PATH@[43; 46) + PATH_SEGMENT@[43; 46) + NAME_REF@[43; 46) + IDENT@[43; 46) "i32" + COMMA@[46; 47) + WHITESPACE@[47; 48) + PARAM@[48; 50) + TUPLE_TYPE@[48; 50) + L_PAREN@[48; 49) + R_PAREN@[49; 50) + R_PAREN@[50; 51) + R_ANGLE@[51; 52) + SEMI@[52; 53) + WHITESPACE@[53; 54) diff --git a/tests/data/parser/inline/0097_param_list_opt_patterns.rs b/tests/data/parser/inline/0097_param_list_opt_patterns.rs new file mode 100644 index 000000000..9b93442c0 --- /dev/null +++ b/tests/data/parser/inline/0097_param_list_opt_patterns.rs @@ -0,0 +1 @@ +fn foo)>(){} diff --git a/tests/data/parser/inline/0097_param_list_opt_patterns.txt b/tests/data/parser/inline/0097_param_list_opt_patterns.txt new file mode 100644 index 000000000..f8a37aebb --- /dev/null +++ b/tests/data/parser/inline/0097_param_list_opt_patterns.txt @@ -0,0 +1,43 @@ +FILE@[0; 35) + FN_ITEM@[0; 34) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + TYPE_PARAM_LIST@[6; 30) + L_ANGLE@[6; 7) + TYPE_PARAM@[7; 29) + NAME@[7; 8) + IDENT@[7; 8) "F" + COLON@[8; 9) + WHITESPACE@[9; 10) + PATH@[10; 29) + PATH_SEGMENT@[10; 29) + NAME_REF@[10; 15) + IDENT@[10; 15) "FnMut" + PARAM_LIST@[15; 29) + L_PAREN@[15; 16) + PARAM@[16; 28) + REFERENCE_TYPE@[16; 28) + AMP@[16; 17) + MUT_KW@[17; 20) + WHITESPACE@[20; 21) + PATH_TYPE@[21; 28) + PATH@[21; 28) + PATH_SEGMENT@[21; 28) + NAME_REF@[21; 24) + IDENT@[21; 24) "Foo" + TYPE_ARG_LIST@[24; 28) + L_ANGLE@[24; 25) + LIFETIME_ARG@[25; 27) + LIFETIME@[25; 27) "'a" + R_ANGLE@[27; 28) + R_PAREN@[28; 29) + R_ANGLE@[29; 30) + PARAM_LIST@[30; 32) + L_PAREN@[30; 31) + R_PAREN@[31; 32) + BLOCK_EXPR@[32; 34) + L_CURLY@[32; 33) + R_CURLY@[33; 34) + WHITESPACE@[34; 35) -- cgit v1.2.3