From 58d14bcaf70662506e1a289494365d976b40fc4e Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Sun, 17 Feb 2019 22:19:21 +0200 Subject: Enable parsing attributes for generic lifetimes and type parameters --- .../ok/0122_generic_lifetime_type_attribute.rs | 2 + .../ok/0122_generic_lifetime_type_attribute.txt | 61 ++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 crates/ra_syntax/tests/data/parser/inline/ok/0122_generic_lifetime_type_attribute.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/ok/0122_generic_lifetime_type_attribute.txt (limited to 'crates/ra_syntax/tests/data/parser/inline/ok') diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0122_generic_lifetime_type_attribute.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0122_generic_lifetime_type_attribute.rs new file mode 100644 index 000000000..e8fdf741f --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/ok/0122_generic_lifetime_type_attribute.rs @@ -0,0 +1,2 @@ +fn foo<#[derive(Lifetime)] 'a, #[derive(Type)] T>(_: &'a T) { +} diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0122_generic_lifetime_type_attribute.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0122_generic_lifetime_type_attribute.txt new file mode 100644 index 000000000..6a6aa89e8 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/ok/0122_generic_lifetime_type_attribute.txt @@ -0,0 +1,61 @@ +SOURCE_FILE@[0; 64) + FN_DEF@[0; 63) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + TYPE_PARAM_LIST@[6; 49) + L_ANGLE@[6; 7) + LIFETIME_PARAM@[7; 29) + ATTR@[7; 26) + POUND@[7; 8) + TOKEN_TREE@[8; 26) + L_BRACK@[8; 9) + IDENT@[9; 15) "derive" + TOKEN_TREE@[15; 25) + L_PAREN@[15; 16) + IDENT@[16; 24) "Lifetime" + R_PAREN@[24; 25) + R_BRACK@[25; 26) + WHITESPACE@[26; 27) + LIFETIME@[27; 29) "'a" + COMMA@[29; 30) + WHITESPACE@[30; 31) + TYPE_PARAM@[31; 48) + ATTR@[31; 46) + POUND@[31; 32) + TOKEN_TREE@[32; 46) + L_BRACK@[32; 33) + IDENT@[33; 39) "derive" + TOKEN_TREE@[39; 45) + L_PAREN@[39; 40) + IDENT@[40; 44) "Type" + R_PAREN@[44; 45) + R_BRACK@[45; 46) + WHITESPACE@[46; 47) + NAME@[47; 48) + IDENT@[47; 48) "T" + R_ANGLE@[48; 49) + PARAM_LIST@[49; 59) + L_PAREN@[49; 50) + PARAM@[50; 58) + PLACEHOLDER_PAT@[50; 51) + UNDERSCORE@[50; 51) + COLON@[51; 52) + WHITESPACE@[52; 53) + REFERENCE_TYPE@[53; 58) + AMP@[53; 54) + LIFETIME@[54; 56) "'a" + WHITESPACE@[56; 57) + PATH_TYPE@[57; 58) + PATH@[57; 58) + PATH_SEGMENT@[57; 58) + NAME_REF@[57; 58) + IDENT@[57; 58) "T" + R_PAREN@[58; 59) + WHITESPACE@[59; 60) + BLOCK@[60; 63) + L_CURLY@[60; 61) + WHITESPACE@[61; 62) + R_CURLY@[62; 63) + WHITESPACE@[63; 64) -- cgit v1.2.3