diff options
| author | Lukas Wirth <lukastw97@gmail.com> | 2024-07-20 09:18:40 +0200 |
|---|---|---|
| committer | Lukas Wirth <lukastw97@gmail.com> | 2024-07-20 09:18:40 +0200 |
| commit | 38814ece185fc215ecac4bc64ad4cbdad2fd7b24 (patch) | |
| tree | 1b8417069e40fc7557476e713d9747df047953cb /src/tools/rust-analyzer/crates/parser/test_data | |
| parent | aa52c5d9639ec7bff59576b4e9b466ca215eaed7 (diff) | |
Add missing dyn parse special cases in 2015 edition
Diffstat (limited to 'src/tools/rust-analyzer/crates/parser/test_data')
2 files changed, 134 insertions, 56 deletions
diff --git a/src/tools/rust-analyzer/crates/parser/test_data/parser/inline/ok/dyn_trait_type_weak.rast b/src/tools/rust-analyzer/crates/parser/test_data/parser/inline/ok/dyn_trait_type_weak.rast index 00ca92402cd..dcc66dc1e2b 100644 --- a/src/tools/rust-analyzer/crates/parser/test_data/parser/inline/ok/dyn_trait_type_weak.rast +++ b/src/tools/rust-analyzer/crates/parser/test_data/parser/inline/ok/dyn_trait_type_weak.rast @@ -5,7 +5,7 @@ SOURCE_FILE TYPE_KW "type" WHITESPACE " " NAME - IDENT "A" + IDENT "DynPlain" WHITESPACE " " EQ "=" WHITESPACE " " @@ -18,38 +18,14 @@ SOURCE_FILE PATH PATH_SEGMENT NAME_REF - IDENT "Iterator" - GENERIC_ARG_LIST - L_ANGLE "<" - ASSOC_TYPE_ARG - NAME_REF - IDENT "Item" - EQ "=" - PATH_TYPE - PATH - PATH_SEGMENT - NAME_REF - IDENT "Foo" - GENERIC_ARG_LIST - L_ANGLE "<" - LIFETIME_ARG - LIFETIME - LIFETIME_IDENT "'a" - R_ANGLE ">" - R_ANGLE ">" - WHITESPACE " " - PLUS "+" - WHITESPACE " " - TYPE_BOUND - LIFETIME - LIFETIME_IDENT "'a" + IDENT "Path" SEMICOLON ";" WHITESPACE "\n" TYPE_ALIAS TYPE_KW "type" WHITESPACE " " NAME - IDENT "A" + IDENT "DynRef" WHITESPACE " " EQ "=" WHITESPACE " " @@ -64,38 +40,111 @@ SOURCE_FILE PATH PATH_SEGMENT NAME_REF - IDENT "Iterator" - GENERIC_ARG_LIST - L_ANGLE "<" - ASSOC_TYPE_ARG - NAME_REF - IDENT "Item" - EQ "=" - PATH_TYPE - PATH - PATH_SEGMENT - NAME_REF - IDENT "Foo" - GENERIC_ARG_LIST - L_ANGLE "<" - LIFETIME_ARG - LIFETIME - LIFETIME_IDENT "'a" - R_ANGLE ">" - R_ANGLE ">" - WHITESPACE " " - PLUS "+" - WHITESPACE " " - TYPE_BOUND - LIFETIME - LIFETIME_IDENT "'a" + IDENT "Path" + SEMICOLON ";" + WHITESPACE "\n" + TYPE_ALIAS + TYPE_KW "type" + WHITESPACE " " + NAME + IDENT "DynLt" + WHITESPACE " " + EQ "=" + WHITESPACE " " + DYN_TRAIT_TYPE + DYN_KW "dyn" + WHITESPACE " " + TYPE_BOUND_LIST + TYPE_BOUND + LIFETIME + LIFETIME_IDENT "'a" + WHITESPACE " " + PLUS "+" + WHITESPACE " " + TYPE_BOUND + PATH_TYPE + PATH + PATH_SEGMENT + NAME_REF + IDENT "Path" + SEMICOLON ";" + WHITESPACE "\n" + TYPE_ALIAS + TYPE_KW "type" + WHITESPACE " " + NAME + IDENT "DynQuestion" + WHITESPACE " " + EQ "=" + WHITESPACE " " + DYN_TRAIT_TYPE + DYN_KW "dyn" + WHITESPACE " " + TYPE_BOUND_LIST + TYPE_BOUND + QUESTION "?" + PATH_TYPE + PATH + PATH_SEGMENT + NAME_REF + IDENT "Path" SEMICOLON ";" WHITESPACE "\n" TYPE_ALIAS TYPE_KW "type" WHITESPACE " " NAME - IDENT "A" + IDENT "DynFor" + WHITESPACE " " + EQ "=" + WHITESPACE " " + DYN_TRAIT_TYPE + DYN_KW "dyn" + WHITESPACE " " + TYPE_BOUND_LIST + TYPE_BOUND + FOR_TYPE + FOR_KW "for" + GENERIC_PARAM_LIST + L_ANGLE "<" + LIFETIME_PARAM + LIFETIME + LIFETIME_IDENT "'a" + R_ANGLE ">" + WHITESPACE " " + PATH_TYPE + PATH + PATH_SEGMENT + NAME_REF + IDENT "Path" + SEMICOLON ";" + WHITESPACE "\n" + TYPE_ALIAS + TYPE_KW "type" + WHITESPACE " " + NAME + IDENT "DynParen" + WHITESPACE " " + EQ "=" + WHITESPACE " " + DYN_TRAIT_TYPE + DYN_KW "dyn" + TYPE_BOUND_LIST + TYPE_BOUND + L_PAREN "(" + PATH_TYPE + PATH + PATH_SEGMENT + NAME_REF + IDENT "Path" + R_PAREN ")" + SEMICOLON ";" + WHITESPACE "\n" + TYPE_ALIAS + TYPE_KW "type" + WHITESPACE " " + NAME + IDENT "Path" WHITESPACE " " EQ "=" WHITESPACE " " @@ -111,3 +160,27 @@ SOURCE_FILE IDENT "Path" SEMICOLON ";" WHITESPACE "\n" + TYPE_ALIAS + TYPE_KW "type" + WHITESPACE " " + NAME + IDENT "Generic" + WHITESPACE " " + EQ "=" + WHITESPACE " " + PATH_TYPE + PATH + PATH_SEGMENT + NAME_REF + IDENT "dyn" + GENERIC_ARG_LIST + L_ANGLE "<" + TYPE_ARG + PATH_TYPE + PATH + PATH_SEGMENT + NAME_REF + IDENT "Path" + R_ANGLE ">" + SEMICOLON ";" + WHITESPACE "\n" diff --git a/src/tools/rust-analyzer/crates/parser/test_data/parser/inline/ok/dyn_trait_type_weak.rs b/src/tools/rust-analyzer/crates/parser/test_data/parser/inline/ok/dyn_trait_type_weak.rs index c4941e65bf5..c4ef1f2b7ac 100644 --- a/src/tools/rust-analyzer/crates/parser/test_data/parser/inline/ok/dyn_trait_type_weak.rs +++ b/src/tools/rust-analyzer/crates/parser/test_data/parser/inline/ok/dyn_trait_type_weak.rs @@ -1,4 +1,9 @@ // 2015 -type A = dyn Iterator<Item=Foo<'a>> + 'a; -type A = &dyn Iterator<Item=Foo<'a>> + 'a; -type A = dyn::Path; +type DynPlain = dyn Path; +type DynRef = &dyn Path; +type DynLt = dyn 'a + Path; +type DynQuestion = dyn ?Path; +type DynFor = dyn for<'a> Path; +type DynParen = dyn(Path); +type Path = dyn::Path; +type Generic = dyn<Path>; |
