From 2ca9f718978b20e8cffb669dc61b63ad7d5e82cd Mon Sep 17 00:00:00 2001 From: csmoe Date: Tue, 11 Jun 2019 21:24:14 +0800 Subject: fix: support existential type --- .../tests/data/parser/err/0011_extern_struct.txt | 2 +- .../parser/inline/err/0010_wrong_order_fns.txt | 4 +-- .../data/parser/inline/ok/0131_existential_type.rs | 1 + .../parser/inline/ok/0131_existential_type.txt | 31 ++++++++++++++++++++++ 4 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 crates/ra_syntax/tests/data/parser/inline/ok/0131_existential_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/ok/0131_existential_type.txt (limited to 'crates/ra_syntax/tests/data/parser') diff --git a/crates/ra_syntax/tests/data/parser/err/0011_extern_struct.txt b/crates/ra_syntax/tests/data/parser/err/0011_extern_struct.txt index 033dac2aa..381147dc0 100644 --- a/crates/ra_syntax/tests/data/parser/err/0011_extern_struct.txt +++ b/crates/ra_syntax/tests/data/parser/err/0011_extern_struct.txt @@ -10,4 +10,4 @@ SOURCE_FILE@[0; 19) IDENT@[14; 17) "Foo" SEMI@[17; 18) ";" WHITESPACE@[18; 19) "\n" -error 6: expected fn, trait or impl +error 6: expected existential, fn, trait or impl diff --git a/crates/ra_syntax/tests/data/parser/inline/err/0010_wrong_order_fns.txt b/crates/ra_syntax/tests/data/parser/inline/err/0010_wrong_order_fns.txt index 9eb4c9b36..b1ef210d3 100644 --- a/crates/ra_syntax/tests/data/parser/inline/err/0010_wrong_order_fns.txt +++ b/crates/ra_syntax/tests/data/parser/inline/err/0010_wrong_order_fns.txt @@ -35,5 +35,5 @@ SOURCE_FILE@[0; 50) L_CURLY@[47; 48) "{" R_CURLY@[48; 49) "}" WHITESPACE@[49; 50) "\n" -error 5: expected fn, trait or impl -error 31: expected fn, trait or impl +error 5: expected existential, fn, trait or impl +error 31: expected existential, fn, trait or impl diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0131_existential_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0131_existential_type.rs new file mode 100644 index 000000000..23baf7145 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/ok/0131_existential_type.rs @@ -0,0 +1 @@ +existential type Foo: Fn() -> usize; diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0131_existential_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0131_existential_type.txt new file mode 100644 index 000000000..6bfac985a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/ok/0131_existential_type.txt @@ -0,0 +1,31 @@ +SOURCE_FILE@[0; 37) + TYPE_ALIAS_DEF@[0; 36) + EXISTENTIAL_KW@[0; 11) "existential" + WHITESPACE@[11; 12) " " + TYPE_KW@[12; 16) "type" + WHITESPACE@[16; 17) " " + NAME@[17; 20) + IDENT@[17; 20) "Foo" + COLON@[20; 21) ":" + WHITESPACE@[21; 22) " " + TYPE_BOUND_LIST@[22; 35) + TYPE_BOUND@[22; 35) + PATH_TYPE@[22; 35) + PATH@[22; 35) + PATH_SEGMENT@[22; 35) + NAME_REF@[22; 24) + IDENT@[22; 24) "Fn" + PARAM_LIST@[24; 26) + L_PAREN@[24; 25) "(" + R_PAREN@[25; 26) ")" + WHITESPACE@[26; 27) " " + RET_TYPE@[27; 35) + THIN_ARROW@[27; 29) "->" + WHITESPACE@[29; 30) " " + PATH_TYPE@[30; 35) + PATH@[30; 35) + PATH_SEGMENT@[30; 35) + NAME_REF@[30; 35) + IDENT@[30; 35) "usize" + SEMI@[35; 36) ";" + WHITESPACE@[36; 37) "\n" -- cgit v1.2.3