From bd5a3589109df3afde67640cd4b36b91d9271d8a Mon Sep 17 00:00:00 2001 From: DJMcNab <36049421+DJMcNab@users.noreply.github.com> Date: Fri, 21 Dec 2018 17:20:38 +0000 Subject: Fix where clauses using fully qualified path syntax --- .../tests/data/parser/ok/0036_fully_qualified.rs | 8 ++ .../tests/data/parser/ok/0036_fully_qualified.txt | 88 ++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.rs create mode 100644 crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt (limited to 'crates/ra_syntax/tests/data/parser/ok') diff --git a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.rs b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.rs new file mode 100644 index 000000000..6da27933e --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.rs @@ -0,0 +1,8 @@ +// https://github.com/rust-analyzer/rust-analyzer/issues/311 + +pub fn foo() -> String +where + ::Item: Eq, +{ + "".to_owned() +} diff --git a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt new file mode 100644 index 000000000..208e5e51c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt @@ -0,0 +1,88 @@ +SOURCE_FILE@[0; 157) + COMMENT@[0; 60) + WHITESPACE@[60; 62) + FN_DEF@[62; 156) + VISIBILITY@[62; 65) + PUB_KW@[62; 65) + WHITESPACE@[65; 66) + FN_KW@[66; 68) + WHITESPACE@[68; 69) + NAME@[69; 72) + IDENT@[69; 72) "foo" + TYPE_PARAM_LIST@[72; 85) + L_ANGLE@[72; 73) + TYPE_PARAM@[73; 84) + NAME@[73; 74) + IDENT@[73; 74) "S" + COLON@[74; 75) + WHITESPACE@[75; 76) + PATH_TYPE@[76; 84) + PATH@[76; 84) + PATH_SEGMENT@[76; 84) + NAME_REF@[76; 84) + IDENT@[76; 84) "Iterator" + R_ANGLE@[84; 85) + PARAM_LIST@[85; 87) + L_PAREN@[85; 86) + R_PAREN@[86; 87) + WHITESPACE@[87; 88) + RET_TYPE@[88; 97) + THIN_ARROW@[88; 90) + WHITESPACE@[90; 91) + PATH_TYPE@[91; 97) + PATH@[91; 97) + PATH_SEGMENT@[91; 97) + NAME_REF@[91; 97) + IDENT@[91; 97) "String" + WHITESPACE@[97; 98) + WHERE_CLAUSE@[98; 134) + WHERE_KW@[98; 103) + WHITESPACE@[103; 108) + WHERE_PRED@[108; 133) + PATH_TYPE@[108; 129) + PATH@[108; 129) + PATH@[108; 123) + PATH_SEGMENT@[108; 123) + L_ANGLE@[108; 109) + PATH_TYPE@[109; 110) + PATH@[109; 110) + PATH_SEGMENT@[109; 110) + NAME_REF@[109; 110) + IDENT@[109; 110) "S" + WHITESPACE@[110; 111) + AS_KW@[111; 113) + WHITESPACE@[113; 114) + PATH_TYPE@[114; 122) + PATH@[114; 122) + PATH_SEGMENT@[114; 122) + NAME_REF@[114; 122) + IDENT@[114; 122) "Iterator" + R_ANGLE@[122; 123) + COLONCOLON@[123; 125) + PATH_SEGMENT@[125; 129) + NAME_REF@[125; 129) + IDENT@[125; 129) "Item" + COLON@[129; 130) + WHITESPACE@[130; 131) + PATH_TYPE@[131; 133) + PATH@[131; 133) + PATH_SEGMENT@[131; 133) + NAME_REF@[131; 133) + IDENT@[131; 133) "Eq" + COMMA@[133; 134) + WHITESPACE@[134; 135) + BLOCK@[135; 156) + L_CURLY@[135; 136) + WHITESPACE@[136; 141) + METHOD_CALL_EXPR@[141; 154) + LITERAL@[141; 143) + STRING@[141; 143) + DOT@[143; 144) + NAME_REF@[144; 152) + IDENT@[144; 152) "to_owned" + ARG_LIST@[152; 154) + L_PAREN@[152; 153) + R_PAREN@[153; 154) + WHITESPACE@[154; 155) + R_CURLY@[155; 156) + WHITESPACE@[156; 157) -- cgit v1.2.3