aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-08-01 12:47:19 +0100
committerAleksey Kladov <[email protected]>2020-08-01 12:47:19 +0100
commitbff8dd094958f1abe2fcfe8fe9f15dc7a7e6b53e (patch)
treecb6e4783b74d04ae2188fb04b652488e97429b99
parent5af32aeb2b83c7ae8adf3e088bf4f3691aa45eb1 (diff)
Update grammar
-rw-r--r--Cargo.lock24
-rw-r--r--crates/ra_assists/src/handlers/introduce_named_lifetime.rs2
-rw-r--r--crates/ra_hir_def/src/type_ref.rs6
-rw-r--r--crates/ra_ide/src/references/rename.rs2
-rw-r--r--crates/ra_ide/src/syntax_highlighting.rs2
-rw-r--r--crates/ra_parser/src/grammar/types.rs6
-rw-r--r--crates/ra_parser/src/syntax_kind/generated.rs6
-rw-r--r--crates/ra_syntax/src/ast/generated/nodes.rs80
-rw-r--r--crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/err/0044_unexpected_for_type.rast18
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0031_extern.rast32
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0067_where_for_pred.rast20
-rw-r--r--xtask/Cargo.toml2
-rw-r--r--xtask/src/ast_src.rs6
-rw-r--r--xtask/src/codegen/gen_syntax.rs11
37 files changed, 150 insertions, 151 deletions
diff --git a/Cargo.lock b/Cargo.lock
index c974022a2..de361cc23 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -279,9 +279,9 @@ checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
279 279
280[[package]] 280[[package]]
281name = "drop_bomb" 281name = "drop_bomb"
282version = "0.1.4" 282version = "0.1.5"
283source = "registry+https://github.com/rust-lang/crates.io-index" 283source = "registry+https://github.com/rust-lang/crates.io-index"
284checksum = "69b26e475fd29098530e709294e94e661974c851aed42512793f120fed4e199f" 284checksum = "9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1"
285 285
286[[package]] 286[[package]]
287name = "either" 287name = "either"
@@ -1622,9 +1622,9 @@ checksum = "53953d2d3a5ad81d9f844a32f14ebb121f50b650cd59d0ee2a07cf13c617efed"
1622 1622
1623[[package]] 1623[[package]]
1624name = "tracing" 1624name = "tracing"
1625version = "0.1.17" 1625version = "0.1.18"
1626source = "registry+https://github.com/rust-lang/crates.io-index" 1626source = "registry+https://github.com/rust-lang/crates.io-index"
1627checksum = "dbdf4ccd1652592b01286a5dbe1e2a77d78afaa34beadd9872a5f7396f92aaa9" 1627checksum = "f0aae59226cf195d8e74d4b34beae1859257efb4e5fed3f147d2dc2c7d372178"
1628dependencies = [ 1628dependencies = [
1629 "cfg-if", 1629 "cfg-if",
1630 "tracing-attributes", 1630 "tracing-attributes",
@@ -1644,9 +1644,9 @@ dependencies = [
1644 1644
1645[[package]] 1645[[package]]
1646name = "tracing-core" 1646name = "tracing-core"
1647version = "0.1.11" 1647version = "0.1.12"
1648source = "registry+https://github.com/rust-lang/crates.io-index" 1648source = "registry+https://github.com/rust-lang/crates.io-index"
1649checksum = "94ae75f0d28ae10786f3b1895c55fe72e79928fd5ccdebb5438c75e93fec178f" 1649checksum = "b2734b5a028fa697686f16c6d18c2c6a3c7e41513f9a213abb6754c4acb3c8d7"
1650dependencies = [ 1650dependencies = [
1651 "lazy_static", 1651 "lazy_static",
1652] 1652]
@@ -1674,9 +1674,9 @@ dependencies = [
1674 1674
1675[[package]] 1675[[package]]
1676name = "tracing-subscriber" 1676name = "tracing-subscriber"
1677version = "0.2.9" 1677version = "0.2.10"
1678source = "registry+https://github.com/rust-lang/crates.io-index" 1678source = "registry+https://github.com/rust-lang/crates.io-index"
1679checksum = "e4f5dd7095c2481b7b3cbed71c8de53085fb3542bc3c2b4c73cba43e8f11c7ba" 1679checksum = "f7b33f8b2ef2ab0c3778c12646d9c42a24f7772bee4cdafc72199644a9f58fdc"
1680dependencies = [ 1680dependencies = [
1681 "ansi_term", 1681 "ansi_term",
1682 "chrono", 1682 "chrono",
@@ -1708,9 +1708,9 @@ dependencies = [
1708 1708
1709[[package]] 1709[[package]]
1710name = "ungrammar" 1710name = "ungrammar"
1711version = "0.1.0" 1711version = "1.1.1"
1712source = "registry+https://github.com/rust-lang/crates.io-index" 1712source = "registry+https://github.com/rust-lang/crates.io-index"
1713checksum = "0ee12e4891ab3acc2d95d5023022ace22020247bb8a8d1ece875a443f7dab37d" 1713checksum = "c4e20e58a08ee1bcf8a4695cf74550cf054d6c489105f594beacb2c684210aad"
1714 1714
1715[[package]] 1715[[package]]
1716name = "unicode-bidi" 1716name = "unicode-bidi"
@@ -1833,9 +1833,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1833 1833
1834[[package]] 1834[[package]]
1835name = "write-json" 1835name = "write-json"
1836version = "0.1.0" 1836version = "0.1.2"
1837source = "registry+https://github.com/rust-lang/crates.io-index" 1837source = "registry+https://github.com/rust-lang/crates.io-index"
1838checksum = "8b3f9a784c809a99e38d2e825907617cb03bd880d5421153bc4548e9317f59d0" 1838checksum = "06069a848f95fceae3e5e03c0ddc8cb78452b56654ee0c8e68f938cf790fb9e3"
1839 1839
1840[[package]] 1840[[package]]
1841name = "ws2_32-sys" 1841name = "ws2_32-sys"
diff --git a/crates/ra_assists/src/handlers/introduce_named_lifetime.rs b/crates/ra_assists/src/handlers/introduce_named_lifetime.rs
index 4537c73a1..fbaf3c06b 100644
--- a/crates/ra_assists/src/handlers/introduce_named_lifetime.rs
+++ b/crates/ra_assists/src/handlers/introduce_named_lifetime.rs
@@ -68,7 +68,7 @@ fn generate_fn_def_assist(
68 let fn_params_without_lifetime: Vec<_> = param_list 68 let fn_params_without_lifetime: Vec<_> = param_list
69 .params() 69 .params()
70 .filter_map(|param| match param.ty() { 70 .filter_map(|param| match param.ty() {
71 Some(ast::Type::ReferenceType(ascribed_type)) 71 Some(ast::Type::RefType(ascribed_type))
72 if ascribed_type.lifetime_token() == None => 72 if ascribed_type.lifetime_token() == None =>
73 { 73 {
74 Some(ascribed_type.amp_token()?.text_range().end()) 74 Some(ascribed_type.amp_token()?.text_range().end())
diff --git a/crates/ra_hir_def/src/type_ref.rs b/crates/ra_hir_def/src/type_ref.rs
index fe6619d9f..6f7884ffe 100644
--- a/crates/ra_hir_def/src/type_ref.rs
+++ b/crates/ra_hir_def/src/type_ref.rs
@@ -94,7 +94,7 @@ impl TypeRef {
94 .map(TypeRef::Path) 94 .map(TypeRef::Path)
95 .unwrap_or(TypeRef::Error) 95 .unwrap_or(TypeRef::Error)
96 } 96 }
97 ast::Type::PointerType(inner) => { 97 ast::Type::PtrType(inner) => {
98 let inner_ty = TypeRef::from_ast_opt(&ctx, inner.ty()); 98 let inner_ty = TypeRef::from_ast_opt(&ctx, inner.ty());
99 let mutability = Mutability::from_mutable(inner.mut_token().is_some()); 99 let mutability = Mutability::from_mutable(inner.mut_token().is_some());
100 TypeRef::RawPtr(Box::new(inner_ty), mutability) 100 TypeRef::RawPtr(Box::new(inner_ty), mutability)
@@ -105,13 +105,13 @@ impl TypeRef {
105 ast::Type::SliceType(inner) => { 105 ast::Type::SliceType(inner) => {
106 TypeRef::Slice(Box::new(TypeRef::from_ast_opt(&ctx, inner.ty()))) 106 TypeRef::Slice(Box::new(TypeRef::from_ast_opt(&ctx, inner.ty())))
107 } 107 }
108 ast::Type::ReferenceType(inner) => { 108 ast::Type::RefType(inner) => {
109 let inner_ty = TypeRef::from_ast_opt(&ctx, inner.ty()); 109 let inner_ty = TypeRef::from_ast_opt(&ctx, inner.ty());
110 let mutability = Mutability::from_mutable(inner.mut_token().is_some()); 110 let mutability = Mutability::from_mutable(inner.mut_token().is_some());
111 TypeRef::Reference(Box::new(inner_ty), mutability) 111 TypeRef::Reference(Box::new(inner_ty), mutability)
112 } 112 }
113 ast::Type::InferType(_inner) => TypeRef::Placeholder, 113 ast::Type::InferType(_inner) => TypeRef::Placeholder,
114 ast::Type::FnPointerType(inner) => { 114 ast::Type::FnPtrType(inner) => {
115 let ret_ty = inner 115 let ret_ty = inner
116 .ret_type() 116 .ret_type()
117 .and_then(|rt| rt.ty()) 117 .and_then(|rt| rt.ty())
diff --git a/crates/ra_ide/src/references/rename.rs b/crates/ra_ide/src/references/rename.rs
index 3cd6c815b..c8d80fcf7 100644
--- a/crates/ra_ide/src/references/rename.rs
+++ b/crates/ra_ide/src/references/rename.rs
@@ -157,7 +157,7 @@ fn rename_to_self(
157 } 157 }
158 let first_param = params.params().next()?; 158 let first_param = params.params().next()?;
159 let mutable = match first_param.ty() { 159 let mutable = match first_param.ty() {
160 Some(ast::Type::ReferenceType(rt)) => rt.mut_token().is_some(), 160 Some(ast::Type::RefType(rt)) => rt.mut_token().is_some(),
161 _ => return None, // not renaming other types 161 _ => return None, // not renaming other types
162 }; 162 };
163 163
diff --git a/crates/ra_ide/src/syntax_highlighting.rs b/crates/ra_ide/src/syntax_highlighting.rs
index 32f34ef10..a32ae0165 100644
--- a/crates/ra_ide/src/syntax_highlighting.rs
+++ b/crates/ra_ide/src/syntax_highlighting.rs
@@ -546,7 +546,7 @@ fn highlight_element(
546 T![!] if element.parent().and_then(ast::MacroCall::cast).is_some() => { 546 T![!] if element.parent().and_then(ast::MacroCall::cast).is_some() => {
547 HighlightTag::Macro.into() 547 HighlightTag::Macro.into()
548 } 548 }
549 T![*] if element.parent().and_then(ast::PointerType::cast).is_some() => { 549 T![*] if element.parent().and_then(ast::PtrType::cast).is_some() => {
550 HighlightTag::Keyword.into() 550 HighlightTag::Keyword.into()
551 } 551 }
552 T![*] if element.parent().and_then(ast::PrefixExpr::cast).is_some() => { 552 T![*] if element.parent().and_then(ast::PrefixExpr::cast).is_some() => {
diff --git a/crates/ra_parser/src/grammar/types.rs b/crates/ra_parser/src/grammar/types.rs
index e9a20fbf1..0aa173a52 100644
--- a/crates/ra_parser/src/grammar/types.rs
+++ b/crates/ra_parser/src/grammar/types.rs
@@ -117,7 +117,7 @@ fn pointer_type(p: &mut Parser) {
117 }; 117 };
118 118
119 type_no_bounds(p); 119 type_no_bounds(p);
120 m.complete(p, POINTER_TYPE); 120 m.complete(p, PTR_TYPE);
121} 121}
122 122
123fn array_or_slice_type(p: &mut Parser) { 123fn array_or_slice_type(p: &mut Parser) {
@@ -163,7 +163,7 @@ fn reference_type(p: &mut Parser) {
163 p.eat(LIFETIME); 163 p.eat(LIFETIME);
164 p.eat(T![mut]); 164 p.eat(T![mut]);
165 type_no_bounds(p); 165 type_no_bounds(p);
166 m.complete(p, REFERENCE_TYPE); 166 m.complete(p, REF_TYPE);
167} 167}
168 168
169// test placeholder_type 169// test placeholder_type
@@ -201,7 +201,7 @@ fn fn_pointer_type(p: &mut Parser) {
201 // test fn_pointer_type_with_ret 201 // test fn_pointer_type_with_ret
202 // type F = fn() -> (); 202 // type F = fn() -> ();
203 opt_fn_ret_type(p); 203 opt_fn_ret_type(p);
204 m.complete(p, FN_POINTER_TYPE); 204 m.complete(p, FN_PTR_TYPE);
205} 205}
206 206
207pub(super) fn for_binder(p: &mut Parser) { 207pub(super) fn for_binder(p: &mut Parser) {
diff --git a/crates/ra_parser/src/syntax_kind/generated.rs b/crates/ra_parser/src/syntax_kind/generated.rs
index b18653aa5..192ecd864 100644
--- a/crates/ra_parser/src/syntax_kind/generated.rs
+++ b/crates/ra_parser/src/syntax_kind/generated.rs
@@ -143,12 +143,12 @@ pub enum SyntaxKind {
143 TUPLE_TYPE, 143 TUPLE_TYPE,
144 NEVER_TYPE, 144 NEVER_TYPE,
145 PATH_TYPE, 145 PATH_TYPE,
146 POINTER_TYPE, 146 PTR_TYPE,
147 ARRAY_TYPE, 147 ARRAY_TYPE,
148 SLICE_TYPE, 148 SLICE_TYPE,
149 REFERENCE_TYPE, 149 REF_TYPE,
150 INFER_TYPE, 150 INFER_TYPE,
151 FN_POINTER_TYPE, 151 FN_PTR_TYPE,
152 FOR_TYPE, 152 FOR_TYPE,
153 IMPL_TRAIT_TYPE, 153 IMPL_TRAIT_TYPE,
154 DYN_TRAIT_TYPE, 154 DYN_TRAIT_TYPE,
diff --git a/crates/ra_syntax/src/ast/generated/nodes.rs b/crates/ra_syntax/src/ast/generated/nodes.rs
index 5f51c7536..3d49309d1 100644
--- a/crates/ra_syntax/src/ast/generated/nodes.rs
+++ b/crates/ra_syntax/src/ast/generated/nodes.rs
@@ -1006,10 +1006,10 @@ impl DynTraitType {
1006 pub fn type_bound_list(&self) -> Option<TypeBoundList> { support::child(&self.syntax) } 1006 pub fn type_bound_list(&self) -> Option<TypeBoundList> { support::child(&self.syntax) }
1007} 1007}
1008#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1008#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1009pub struct FnPointerType { 1009pub struct FnPtrType {
1010 pub(crate) syntax: SyntaxNode, 1010 pub(crate) syntax: SyntaxNode,
1011} 1011}
1012impl FnPointerType { 1012impl FnPtrType {
1013 pub fn const_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![const]) } 1013 pub fn const_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![const]) }
1014 pub fn async_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![async]) } 1014 pub fn async_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![async]) }
1015 pub fn unsafe_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![unsafe]) } 1015 pub fn unsafe_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![unsafe]) }
@@ -1059,20 +1059,20 @@ impl ParenType {
1059 pub fn r_paren_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![')']) } 1059 pub fn r_paren_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![')']) }
1060} 1060}
1061#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1061#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1062pub struct PointerType { 1062pub struct PtrType {
1063 pub(crate) syntax: SyntaxNode, 1063 pub(crate) syntax: SyntaxNode,
1064} 1064}
1065impl PointerType { 1065impl PtrType {
1066 pub fn star_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![*]) } 1066 pub fn star_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![*]) }
1067 pub fn const_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![const]) } 1067 pub fn const_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![const]) }
1068 pub fn mut_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![mut]) } 1068 pub fn mut_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![mut]) }
1069 pub fn ty(&self) -> Option<Type> { support::child(&self.syntax) } 1069 pub fn ty(&self) -> Option<Type> { support::child(&self.syntax) }
1070} 1070}
1071#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1071#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1072pub struct ReferenceType { 1072pub struct RefType {
1073 pub(crate) syntax: SyntaxNode, 1073 pub(crate) syntax: SyntaxNode,
1074} 1074}
1075impl ReferenceType { 1075impl RefType {
1076 pub fn amp_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![&]) } 1076 pub fn amp_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![&]) }
1077 pub fn lifetime_token(&self) -> Option<SyntaxToken> { 1077 pub fn lifetime_token(&self) -> Option<SyntaxToken> {
1078 support::token(&self.syntax, T![lifetime]) 1078 support::token(&self.syntax, T![lifetime])
@@ -1263,15 +1263,15 @@ pub enum GenericArg {
1263pub enum Type { 1263pub enum Type {
1264 ArrayType(ArrayType), 1264 ArrayType(ArrayType),
1265 DynTraitType(DynTraitType), 1265 DynTraitType(DynTraitType),
1266 FnPointerType(FnPointerType), 1266 FnPtrType(FnPtrType),
1267 ForType(ForType), 1267 ForType(ForType),
1268 ImplTraitType(ImplTraitType), 1268 ImplTraitType(ImplTraitType),
1269 InferType(InferType), 1269 InferType(InferType),
1270 NeverType(NeverType), 1270 NeverType(NeverType),
1271 ParenType(ParenType), 1271 ParenType(ParenType),
1272 PathType(PathType), 1272 PathType(PathType),
1273 PointerType(PointerType), 1273 PtrType(PtrType),
1274 ReferenceType(ReferenceType), 1274 RefType(RefType),
1275 SliceType(SliceType), 1275 SliceType(SliceType),
1276 TupleType(TupleType), 1276 TupleType(TupleType),
1277} 1277}
@@ -1377,8 +1377,8 @@ impl ast::NameOwner for AssocItem {}
1377#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1377#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1378pub enum ExternItem { 1378pub enum ExternItem {
1379 Fn(Fn), 1379 Fn(Fn),
1380 Static(Static),
1381 MacroCall(MacroCall), 1380 MacroCall(MacroCall),
1381 Static(Static),
1382} 1382}
1383impl ast::AttrsOwner for ExternItem {} 1383impl ast::AttrsOwner for ExternItem {}
1384impl ast::NameOwner for ExternItem {} 1384impl ast::NameOwner for ExternItem {}
@@ -2434,8 +2434,8 @@ impl AstNode for DynTraitType {
2434 } 2434 }
2435 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2435 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2436} 2436}
2437impl AstNode for FnPointerType { 2437impl AstNode for FnPtrType {
2438 fn can_cast(kind: SyntaxKind) -> bool { kind == FN_POINTER_TYPE } 2438 fn can_cast(kind: SyntaxKind) -> bool { kind == FN_PTR_TYPE }
2439 fn cast(syntax: SyntaxNode) -> Option<Self> { 2439 fn cast(syntax: SyntaxNode) -> Option<Self> {
2440 if Self::can_cast(syntax.kind()) { 2440 if Self::can_cast(syntax.kind()) {
2441 Some(Self { syntax }) 2441 Some(Self { syntax })
@@ -2500,8 +2500,8 @@ impl AstNode for ParenType {
2500 } 2500 }
2501 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2501 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2502} 2502}
2503impl AstNode for PointerType { 2503impl AstNode for PtrType {
2504 fn can_cast(kind: SyntaxKind) -> bool { kind == POINTER_TYPE } 2504 fn can_cast(kind: SyntaxKind) -> bool { kind == PTR_TYPE }
2505 fn cast(syntax: SyntaxNode) -> Option<Self> { 2505 fn cast(syntax: SyntaxNode) -> Option<Self> {
2506 if Self::can_cast(syntax.kind()) { 2506 if Self::can_cast(syntax.kind()) {
2507 Some(Self { syntax }) 2507 Some(Self { syntax })
@@ -2511,8 +2511,8 @@ impl AstNode for PointerType {
2511 } 2511 }
2512 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2512 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2513} 2513}
2514impl AstNode for ReferenceType { 2514impl AstNode for RefType {
2515 fn can_cast(kind: SyntaxKind) -> bool { kind == REFERENCE_TYPE } 2515 fn can_cast(kind: SyntaxKind) -> bool { kind == REF_TYPE }
2516 fn cast(syntax: SyntaxNode) -> Option<Self> { 2516 fn cast(syntax: SyntaxNode) -> Option<Self> {
2517 if Self::can_cast(syntax.kind()) { 2517 if Self::can_cast(syntax.kind()) {
2518 Some(Self { syntax }) 2518 Some(Self { syntax })
@@ -2786,8 +2786,8 @@ impl From<ArrayType> for Type {
2786impl From<DynTraitType> for Type { 2786impl From<DynTraitType> for Type {
2787 fn from(node: DynTraitType) -> Type { Type::DynTraitType(node) } 2787 fn from(node: DynTraitType) -> Type { Type::DynTraitType(node) }
2788} 2788}
2789impl From<FnPointerType> for Type { 2789impl From<FnPtrType> for Type {
2790 fn from(node: FnPointerType) -> Type { Type::FnPointerType(node) } 2790 fn from(node: FnPtrType) -> Type { Type::FnPtrType(node) }
2791} 2791}
2792impl From<ForType> for Type { 2792impl From<ForType> for Type {
2793 fn from(node: ForType) -> Type { Type::ForType(node) } 2793 fn from(node: ForType) -> Type { Type::ForType(node) }
@@ -2807,11 +2807,11 @@ impl From<ParenType> for Type {
2807impl From<PathType> for Type { 2807impl From<PathType> for Type {
2808 fn from(node: PathType) -> Type { Type::PathType(node) } 2808 fn from(node: PathType) -> Type { Type::PathType(node) }
2809} 2809}
2810impl From<PointerType> for Type { 2810impl From<PtrType> for Type {
2811 fn from(node: PointerType) -> Type { Type::PointerType(node) } 2811 fn from(node: PtrType) -> Type { Type::PtrType(node) }
2812} 2812}
2813impl From<ReferenceType> for Type { 2813impl From<RefType> for Type {
2814 fn from(node: ReferenceType) -> Type { Type::ReferenceType(node) } 2814 fn from(node: RefType) -> Type { Type::RefType(node) }
2815} 2815}
2816impl From<SliceType> for Type { 2816impl From<SliceType> for Type {
2817 fn from(node: SliceType) -> Type { Type::SliceType(node) } 2817 fn from(node: SliceType) -> Type { Type::SliceType(node) }
@@ -2822,9 +2822,9 @@ impl From<TupleType> for Type {
2822impl AstNode for Type { 2822impl AstNode for Type {
2823 fn can_cast(kind: SyntaxKind) -> bool { 2823 fn can_cast(kind: SyntaxKind) -> bool {
2824 match kind { 2824 match kind {
2825 ARRAY_TYPE | DYN_TRAIT_TYPE | FN_POINTER_TYPE | FOR_TYPE | IMPL_TRAIT_TYPE 2825 ARRAY_TYPE | DYN_TRAIT_TYPE | FN_PTR_TYPE | FOR_TYPE | IMPL_TRAIT_TYPE | INFER_TYPE
2826 | INFER_TYPE | NEVER_TYPE | PAREN_TYPE | PATH_TYPE | POINTER_TYPE | REFERENCE_TYPE 2826 | NEVER_TYPE | PAREN_TYPE | PATH_TYPE | PTR_TYPE | REF_TYPE | SLICE_TYPE
2827 | SLICE_TYPE | TUPLE_TYPE => true, 2827 | TUPLE_TYPE => true,
2828 _ => false, 2828 _ => false,
2829 } 2829 }
2830 } 2830 }
@@ -2832,15 +2832,15 @@ impl AstNode for Type {
2832 let res = match syntax.kind() { 2832 let res = match syntax.kind() {
2833 ARRAY_TYPE => Type::ArrayType(ArrayType { syntax }), 2833 ARRAY_TYPE => Type::ArrayType(ArrayType { syntax }),
2834 DYN_TRAIT_TYPE => Type::DynTraitType(DynTraitType { syntax }), 2834 DYN_TRAIT_TYPE => Type::DynTraitType(DynTraitType { syntax }),
2835 FN_POINTER_TYPE => Type::FnPointerType(FnPointerType { syntax }), 2835 FN_PTR_TYPE => Type::FnPtrType(FnPtrType { syntax }),
2836 FOR_TYPE => Type::ForType(ForType { syntax }), 2836 FOR_TYPE => Type::ForType(ForType { syntax }),
2837 IMPL_TRAIT_TYPE => Type::ImplTraitType(ImplTraitType { syntax }), 2837 IMPL_TRAIT_TYPE => Type::ImplTraitType(ImplTraitType { syntax }),
2838 INFER_TYPE => Type::InferType(InferType { syntax }), 2838 INFER_TYPE => Type::InferType(InferType { syntax }),
2839 NEVER_TYPE => Type::NeverType(NeverType { syntax }), 2839 NEVER_TYPE => Type::NeverType(NeverType { syntax }),
2840 PAREN_TYPE => Type::ParenType(ParenType { syntax }), 2840 PAREN_TYPE => Type::ParenType(ParenType { syntax }),
2841 PATH_TYPE => Type::PathType(PathType { syntax }), 2841 PATH_TYPE => Type::PathType(PathType { syntax }),
2842 POINTER_TYPE => Type::PointerType(PointerType { syntax }), 2842 PTR_TYPE => Type::PtrType(PtrType { syntax }),
2843 REFERENCE_TYPE => Type::ReferenceType(ReferenceType { syntax }), 2843 REF_TYPE => Type::RefType(RefType { syntax }),
2844 SLICE_TYPE => Type::SliceType(SliceType { syntax }), 2844 SLICE_TYPE => Type::SliceType(SliceType { syntax }),
2845 TUPLE_TYPE => Type::TupleType(TupleType { syntax }), 2845 TUPLE_TYPE => Type::TupleType(TupleType { syntax }),
2846 _ => return None, 2846 _ => return None,
@@ -2851,15 +2851,15 @@ impl AstNode for Type {
2851 match self { 2851 match self {
2852 Type::ArrayType(it) => &it.syntax, 2852 Type::ArrayType(it) => &it.syntax,
2853 Type::DynTraitType(it) => &it.syntax, 2853 Type::DynTraitType(it) => &it.syntax,
2854 Type::FnPointerType(it) => &it.syntax, 2854 Type::FnPtrType(it) => &it.syntax,
2855 Type::ForType(it) => &it.syntax, 2855 Type::ForType(it) => &it.syntax,
2856 Type::ImplTraitType(it) => &it.syntax, 2856 Type::ImplTraitType(it) => &it.syntax,
2857 Type::InferType(it) => &it.syntax, 2857 Type::InferType(it) => &it.syntax,
2858 Type::NeverType(it) => &it.syntax, 2858 Type::NeverType(it) => &it.syntax,
2859 Type::ParenType(it) => &it.syntax, 2859 Type::ParenType(it) => &it.syntax,
2860 Type::PathType(it) => &it.syntax, 2860 Type::PathType(it) => &it.syntax,
2861 Type::PointerType(it) => &it.syntax, 2861 Type::PtrType(it) => &it.syntax,
2862 Type::ReferenceType(it) => &it.syntax, 2862 Type::RefType(it) => &it.syntax,
2863 Type::SliceType(it) => &it.syntax, 2863 Type::SliceType(it) => &it.syntax,
2864 Type::TupleType(it) => &it.syntax, 2864 Type::TupleType(it) => &it.syntax,
2865 } 2865 }
@@ -3332,24 +3332,24 @@ impl AstNode for AssocItem {
3332impl From<Fn> for ExternItem { 3332impl From<Fn> for ExternItem {
3333 fn from(node: Fn) -> ExternItem { ExternItem::Fn(node) } 3333 fn from(node: Fn) -> ExternItem { ExternItem::Fn(node) }
3334} 3334}
3335impl From<Static> for ExternItem {
3336 fn from(node: Static) -> ExternItem { ExternItem::Static(node) }
3337}
3338impl From<MacroCall> for ExternItem { 3335impl From<MacroCall> for ExternItem {
3339 fn from(node: MacroCall) -> ExternItem { ExternItem::MacroCall(node) } 3336 fn from(node: MacroCall) -> ExternItem { ExternItem::MacroCall(node) }
3340} 3337}
3338impl From<Static> for ExternItem {
3339 fn from(node: Static) -> ExternItem { ExternItem::Static(node) }
3340}
3341impl AstNode for ExternItem { 3341impl AstNode for ExternItem {
3342 fn can_cast(kind: SyntaxKind) -> bool { 3342 fn can_cast(kind: SyntaxKind) -> bool {
3343 match kind { 3343 match kind {
3344 FN | STATIC | MACRO_CALL => true, 3344 FN | MACRO_CALL | STATIC => true,
3345 _ => false, 3345 _ => false,
3346 } 3346 }
3347 } 3347 }
3348 fn cast(syntax: SyntaxNode) -> Option<Self> { 3348 fn cast(syntax: SyntaxNode) -> Option<Self> {
3349 let res = match syntax.kind() { 3349 let res = match syntax.kind() {
3350 FN => ExternItem::Fn(Fn { syntax }), 3350 FN => ExternItem::Fn(Fn { syntax }),
3351 STATIC => ExternItem::Static(Static { syntax }),
3352 MACRO_CALL => ExternItem::MacroCall(MacroCall { syntax }), 3351 MACRO_CALL => ExternItem::MacroCall(MacroCall { syntax }),
3352 STATIC => ExternItem::Static(Static { syntax }),
3353 _ => return None, 3353 _ => return None,
3354 }; 3354 };
3355 Some(res) 3355 Some(res)
@@ -3357,8 +3357,8 @@ impl AstNode for ExternItem {
3357 fn syntax(&self) -> &SyntaxNode { 3357 fn syntax(&self) -> &SyntaxNode {
3358 match self { 3358 match self {
3359 ExternItem::Fn(it) => &it.syntax, 3359 ExternItem::Fn(it) => &it.syntax,
3360 ExternItem::Static(it) => &it.syntax,
3361 ExternItem::MacroCall(it) => &it.syntax, 3360 ExternItem::MacroCall(it) => &it.syntax,
3361 ExternItem::Static(it) => &it.syntax,
3362 } 3362 }
3363 } 3363 }
3364} 3364}
@@ -3925,7 +3925,7 @@ impl std::fmt::Display for DynTraitType {
3925 std::fmt::Display::fmt(self.syntax(), f) 3925 std::fmt::Display::fmt(self.syntax(), f)
3926 } 3926 }
3927} 3927}
3928impl std::fmt::Display for FnPointerType { 3928impl std::fmt::Display for FnPtrType {
3929 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 3929 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3930 std::fmt::Display::fmt(self.syntax(), f) 3930 std::fmt::Display::fmt(self.syntax(), f)
3931 } 3931 }
@@ -3955,12 +3955,12 @@ impl std::fmt::Display for ParenType {
3955 std::fmt::Display::fmt(self.syntax(), f) 3955 std::fmt::Display::fmt(self.syntax(), f)
3956 } 3956 }
3957} 3957}
3958impl std::fmt::Display for PointerType { 3958impl std::fmt::Display for PtrType {
3959 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 3959 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3960 std::fmt::Display::fmt(self.syntax(), f) 3960 std::fmt::Display::fmt(self.syntax(), f)
3961 } 3961 }
3962} 3962}
3963impl std::fmt::Display for ReferenceType { 3963impl std::fmt::Display for RefType {
3964 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 3964 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3965 std::fmt::Display::fmt(self.syntax(), f) 3965 std::fmt::Display::fmt(self.syntax(), f)
3966 } 3966 }
diff --git a/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast b/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast
index c131b79a7..f31c27633 100644
--- a/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast
+++ b/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast
@@ -39,7 +39,7 @@ [email protected]
39 [email protected] "builder" 39 [email protected] "builder"
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected]
42 REFERENCE[email protected] 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
@@ -56,7 +56,7 @@ [email protected]
56 [email protected] "tokens" 56 [email protected] "tokens"
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected]
59 REFERENCE[email protected] 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected]
62 [email protected] 62 [email protected]
@@ -126,7 +126,7 @@ [email protected]
126 [email protected] "idx" 126 [email protected] "idx"
127 [email protected] 127 [email protected]
128 [email protected] 128 [email protected]
129 REFERENCE[email protected] 129 [email protected]
130 [email protected] 130 [email protected]
131 [email protected] 131 [email protected]
132 [email protected] 132 [email protected]
diff --git a/crates/ra_syntax/test_data/parser/err/0044_unexpected_for_type.rast b/crates/ra_syntax/test_data/parser/err/0044_unexpected_for_type.rast
index 082625c13..71aa86494 100644
--- a/crates/ra_syntax/test_data/parser/err/0044_unexpected_for_type.rast
+++ b/crates/ra_syntax/test_data/parser/err/0044_unexpected_for_type.rast
@@ -15,7 +15,7 @@ [email protected]
15 [email protected] "\'a" 15 [email protected] "\'a"
16 [email protected] ">" 16 [email protected] ">"
17 [email protected] " " 17 [email protected] " "
18 REFERENCE[email protected] 18 [email protected]
19 [email protected] "&" 19 [email protected] "&"
20 [email protected] "\'a" 20 [email protected] "\'a"
21 [email protected] " " 21 [email protected] " "
@@ -44,7 +44,7 @@ [email protected]
44 [email protected] " " 44 [email protected] " "
45 [email protected] 45 [email protected]
46 [email protected] "(" 46 [email protected] "("
47 REFERENCE[email protected] 47 [email protected]
48 [email protected] "&" 48 [email protected] "&"
49 [email protected] "\'a" 49 [email protected] "\'a"
50 [email protected] " " 50 [email protected] " "
@@ -107,12 +107,12 @@ [email protected]
107 [email protected] "\'b" 107 [email protected] "\'b"
108 [email protected] ">" 108 [email protected] ">"
109 [email protected] " " 109 [email protected] " "
110 FN_POINTE[email protected] 110 [email protected]
111 [email protected] "fn" 111 [email protected] "fn"
112 [email protected] 112 [email protected]
113 [email protected] "(" 113 [email protected] "("
114 [email protected] 114 [email protected]
115 REFERENCE[email protected] 115 [email protected]
116 [email protected] "&" 116 [email protected] "&"
117 [email protected] "\'a" 117 [email protected] "\'a"
118 [email protected] " " 118 [email protected] " "
@@ -124,7 +124,7 @@ [email protected]
124 [email protected] "," 124 [email protected] ","
125 [email protected] " " 125 [email protected] " "
126 [email protected] 126 [email protected]
127 REFERENCE[email protected] 127 [email protected]
128 [email protected] "&" 128 [email protected] "&"
129 [email protected] "\'b" 129 [email protected] "\'b"
130 [email protected] " " 130 [email protected] " "
@@ -178,12 +178,12 @@ [email protected]
178 [email protected] "\'c" 178 [email protected] "\'c"
179 [email protected] ">" 179 [email protected] ">"
180 [email protected] " " 180 [email protected] " "
181 FN_POINTE[email protected] 181 [email protected]
182 [email protected] "fn" 182 [email protected] "fn"
183 [email protected] 183 [email protected]
184 [email protected] "(" 184 [email protected] "("
185 [email protected] 185 [email protected]
186 REFERENCE[email protected] 186 [email protected]
187 [email protected] "&" 187 [email protected] "&"
188 [email protected] "\'a" 188 [email protected] "\'a"
189 [email protected] " " 189 [email protected] " "
@@ -195,7 +195,7 @@ [email protected]
195 [email protected] "," 195 [email protected] ","
196 [email protected] " " 196 [email protected] " "
197 [email protected] 197 [email protected]
198 REFERENCE[email protected] 198 [email protected]
199 [email protected] "&" 199 [email protected] "&"
200 [email protected] "\'b" 200 [email protected] "\'b"
201 [email protected] " " 201 [email protected] " "
@@ -207,7 +207,7 @@ [email protected]
207 [email protected] "," 207 [email protected] ","
208 [email protected] " " 208 [email protected] " "
209 [email protected] 209 [email protected]
210 REFERENCE[email protected] 210 [email protected]
211 [email protected] "&" 211 [email protected] "&"
212 [email protected] "\'c" 212 [email protected] "\'c"
213 [email protected] " " 213 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast b/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast
index 2409eefe7..0d8bf6dd6 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast
@@ -7,7 +7,7 @@ [email protected]
7 [email protected] " " 7 [email protected] " "
8 [email protected] "=" 8 [email protected] "="
9 [email protected] " " 9 [email protected] " "
10 POINTE[email protected] 10 [email protected]
11 [email protected] "*" 11 [email protected] "*"
12 [email protected] 12 [email protected]
13 [email protected] "(" 13 [email protected] "("
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast b/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast
index b0f2b5888..62da7b887 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast
@@ -42,7 +42,7 @@ [email protected]
42 [email protected] 42 [email protected]
43 [email protected] "(" 43 [email protected] "("
44 [email protected] 44 [email protected]
45 REFERENCE[email protected] 45 [email protected]
46 [email protected] "&" 46 [email protected] "&"
47 [email protected] "\'a" 47 [email protected] "\'a"
48 [email protected] " " 48 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast b/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast
index 44d92aedb..b650735ba 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast
@@ -31,7 +31,7 @@ [email protected]
31 [email protected] "," 31 [email protected] ","
32 [email protected] " " 32 [email protected] " "
33 [email protected] 33 [email protected]
34 REFERENCE[email protected] 34 [email protected]
35 [email protected] "&" 35 [email protected] "&"
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected]
@@ -41,7 +41,7 @@ [email protected]
41 [email protected] "," 41 [email protected] ","
42 [email protected] " " 42 [email protected] " "
43 [email protected] 43 [email protected]
44 REFERENCE[email protected] 44 [email protected]
45 [email protected] "&" 45 [email protected] "&"
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast b/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast
index 845b32e6d..d33215b50 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast
@@ -7,7 +7,7 @@ [email protected]
7 [email protected] " " 7 [email protected] " "
8 [email protected] "=" 8 [email protected] "="
9 [email protected] " " 9 [email protected] " "
10 POINTE[email protected] 10 [email protected]
11 [email protected] "*" 11 [email protected] "*"
12 [email protected] "mut" 12 [email protected] "mut"
13 [email protected] " " 13 [email protected] " "
@@ -24,7 +24,7 @@ [email protected]
24 [email protected] " " 24 [email protected] " "
25 [email protected] "=" 25 [email protected] "="
26 [email protected] " " 26 [email protected] " "
27 POINTE[email protected] 27 [email protected]
28 [email protected] "*" 28 [email protected] "*"
29 [email protected] "mut" 29 [email protected] "mut"
30 [email protected] " " 30 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast b/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast
index 1b31aa95a..ddbd66588 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast
@@ -22,7 +22,7 @@ [email protected]
22 [email protected] "self" 22 [email protected] "self"
23 [email protected] ":" 23 [email protected] ":"
24 [email protected] " " 24 [email protected] " "
25 REFERENCE[email protected] 25 [email protected]
26 [email protected] "&" 26 [email protected] "&"
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast
index 79a5ee339..dda6577ed 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast
@@ -7,7 +7,7 @@ [email protected]
7 [email protected] " " 7 [email protected] " "
8 [email protected] "=" 8 [email protected] "="
9 [email protected] " " 9 [email protected] " "
10 FN_POINTE[email protected] 10 [email protected]
11 [email protected] "fn" 11 [email protected] "fn"
12 [email protected] 12 [email protected]
13 [email protected] "(" 13 [email protected] "("
@@ -22,7 +22,7 @@ [email protected]
22 [email protected] " " 22 [email protected] " "
23 [email protected] "=" 23 [email protected] "="
24 [email protected] " " 24 [email protected] " "
25 FN_POINTE[email protected] 25 [email protected]
26 [email protected] "unsafe" 26 [email protected] "unsafe"
27 [email protected] " " 27 [email protected] " "
28 [email protected] "fn" 28 [email protected] "fn"
@@ -39,7 +39,7 @@ [email protected]
39 [email protected] " " 39 [email protected] " "
40 [email protected] "=" 40 [email protected] "="
41 [email protected] " " 41 [email protected] " "
42 FN_POINTE[email protected] 42 [email protected]
43 [email protected] "unsafe" 43 [email protected] "unsafe"
44 [email protected] " " 44 [email protected] " "
45 [email protected] 45 [email protected]
@@ -61,7 +61,7 @@ [email protected]
61 [email protected] " " 61 [email protected] " "
62 [email protected] "=" 62 [email protected] "="
63 [email protected] " " 63 [email protected] " "
64 FN_POINTE[email protected] 64 [email protected]
65 [email protected] 65 [email protected]
66 [email protected] "extern" 66 [email protected] "extern"
67 [email protected] " " 67 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast b/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast
index c522f76cf..974df9f9a 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast
@@ -7,7 +7,7 @@ [email protected]
7 [email protected] " " 7 [email protected] " "
8 [email protected] "=" 8 [email protected] "="
9 [email protected] " " 9 [email protected] " "
10 REFERENCE[email protected] 10 [email protected]
11 [email protected] "&" 11 [email protected] "&"
12 [email protected] 12 [email protected]
13 [email protected] "(" 13 [email protected] "("
@@ -22,7 +22,7 @@ [email protected]
22 [email protected] " " 22 [email protected] " "
23 [email protected] "=" 23 [email protected] "="
24 [email protected] " " 24 [email protected] " "
25 REFERENCE[email protected] 25 [email protected]
26 [email protected] "&" 26 [email protected] "&"
27 [email protected] "\'static" 27 [email protected] "\'static"
28 [email protected] " " 28 [email protected] " "
@@ -39,7 +39,7 @@ [email protected]
39 [email protected] " " 39 [email protected] " "
40 [email protected] "=" 40 [email protected] "="
41 [email protected] " " 41 [email protected] " "
42 REFERENCE[email protected] 42 [email protected]
43 [email protected] "&" 43 [email protected] "&"
44 [email protected] "mut" 44 [email protected] "mut"
45 [email protected] " " 45 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast b/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast
index c100d1c71..6baea6e3c 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast
@@ -21,7 +21,7 @@ [email protected]
21 [email protected] 21 [email protected]
22 [email protected] "(" 22 [email protected] "("
23 [email protected] 23 [email protected]
24 REFERENCE[email protected] 24 [email protected]
25 [email protected] "&" 25 [email protected] "&"
26 [email protected] "mut" 26 [email protected] "mut"
27 [email protected] " " 27 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast
index 5f4807522..f319d5141 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast
@@ -15,7 +15,7 @@ [email protected]
15 [email protected] "\'a" 15 [email protected] "\'a"
16 [email protected] ">" 16 [email protected] ">"
17 [email protected] " " 17 [email protected] " "
18 FN_POINTE[email protected] 18 [email protected]
19 [email protected] "fn" 19 [email protected] "fn"
20 [email protected] 20 [email protected]
21 [email protected] "(" 21 [email protected] "("
@@ -45,7 +45,7 @@ [email protected]
45 [email protected] "\'a" 45 [email protected] "\'a"
46 [email protected] ">" 46 [email protected] ">"
47 [email protected] " " 47 [email protected] " "
48 FN_POINTE[email protected] 48 [email protected]
49 [email protected] "unsafe" 49 [email protected] "unsafe"
50 [email protected] " " 50 [email protected] " "
51 [email protected] 51 [email protected]
@@ -57,7 +57,7 @@ [email protected]
57 [email protected] 57 [email protected]
58 [email protected] "(" 58 [email protected] "("
59 [email protected] 59 [email protected]
60 REFERENCE[email protected] 60 [email protected]
61 [email protected] "&" 61 [email protected] "&"
62 [email protected] "\'a" 62 [email protected] "\'a"
63 [email protected] " " 63 [email protected] " "
@@ -98,7 +98,7 @@ [email protected]
98 [email protected] 98 [email protected]
99 [email protected] "<" 99 [email protected] "<"
100 [email protected] 100 [email protected]
101 REFERENCE[email protected] 101 [email protected]
102 [email protected] "&" 102 [email protected] "&"
103 [email protected] "\'a" 103 [email protected] "\'a"
104 [email protected] " " 104 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast b/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast
index 95686977f..f80326465 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast
@@ -7,7 +7,7 @@ [email protected]
7 [email protected] " " 7 [email protected] " "
8 [email protected] "=" 8 [email protected] "="
9 [email protected] " " 9 [email protected] " "
10 FN_POINTE[email protected] 10 [email protected]
11 [email protected] "fn" 11 [email protected] "fn"
12 [email protected] 12 [email protected]
13 [email protected] "(" 13 [email protected] "("
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast b/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
index 8d029b592..570b95205 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
@@ -47,7 +47,7 @@ [email protected]
47 [email protected] "_" 47 [email protected] "_"
48 [email protected] ":" 48 [email protected] ":"
49 [email protected] " " 49 [email protected] " "
50 REFERENCE[email protected] 50 [email protected]
51 [email protected] "&" 51 [email protected] "&"
52 [email protected] "\'a" 52 [email protected] "\'a"
53 [email protected] " " 53 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast
index 27c4f141f..7cdec6634 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast
@@ -21,7 +21,7 @@ [email protected]
21 [email protected] "format" 21 [email protected] "format"
22 [email protected] ":" 22 [email protected] ":"
23 [email protected] " " 23 [email protected] " "
24 POINTE[email protected] 24 [email protected]
25 [email protected] "*" 25 [email protected] "*"
26 [email protected] "const" 26 [email protected] "const"
27 [email protected] " " 27 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast b/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast
index ca739825a..a36cc8dab 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast
@@ -27,7 +27,7 @@ [email protected]
27 [email protected] " " 27 [email protected] " "
28 [email protected] "as" 28 [email protected] "as"
29 [email protected] " " 29 [email protected] " "
30 POINTE[email protected] 30 [email protected]
31 [email protected] "*" 31 [email protected] "*"
32 [email protected] "const" 32 [email protected] "const"
33 [email protected] " " 33 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast b/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast
index 0c35bf2b7..f284aafcd 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast
@@ -6,7 +6,7 @@ [email protected]
6 [email protected] "A" 6 [email protected] "A"
7 [email protected] ":" 7 [email protected] ":"
8 [email protected] " " 8 [email protected] " "
9 REFERENCE[email protected] 9 [email protected]
10 [email protected] "&" 10 [email protected] "&"
11 [email protected] 11 [email protected]
12 [email protected] "[" 12 [email protected] "["
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast b/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast
index c48fed03e..e6aff7b37 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast
@@ -7,7 +7,7 @@ [email protected]
7 [email protected] " " 7 [email protected] " "
8 [email protected] "=" 8 [email protected] "="
9 [email protected] " " 9 [email protected] " "
10 FN_POINTE[email protected] 10 [email protected]
11 [email protected] "fn" 11 [email protected] "fn"
12 [email protected] 12 [email protected]
13 [email protected] "(" 13 [email protected] "("
@@ -33,7 +33,7 @@ [email protected]
33 [email protected] " " 33 [email protected] " "
34 [email protected] "=" 34 [email protected] "="
35 [email protected] " " 35 [email protected] " "
36 FN_POINTE[email protected] 36 [email protected]
37 [email protected] "fn" 37 [email protected] "fn"
38 [email protected] 38 [email protected]
39 [email protected] "(" 39 [email protected] "("
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast
index 3079e5bf8..6abb4fe5a 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast
@@ -7,7 +7,7 @@ [email protected]
7 [email protected] " " 7 [email protected] " "
8 [email protected] "=" 8 [email protected] "="
9 [email protected] " " 9 [email protected] " "
10 FN_POINTE[email protected] 10 [email protected]
11 [email protected] "fn" 11 [email protected] "fn"
12 [email protected] 12 [email protected]
13 [email protected] "(" 13 [email protected] "("
diff --git a/crates/ra_syntax/test_data/parser/ok/0031_extern.rast b/crates/ra_syntax/test_data/parser/ok/0031_extern.rast
index 79ea098a2..8150d445f 100644
--- a/crates/ra_syntax/test_data/parser/ok/0031_extern.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0031_extern.rast
@@ -99,7 +99,7 @@ [email protected]
99 [email protected] "addr" 99 [email protected] "addr"
100 [email protected] ":" 100 [email protected] ":"
101 [email protected] " " 101 [email protected] " "
102 POINTE[email protected] 102 [email protected]
103 [email protected] "*" 103 [email protected] "*"
104 [email protected] "const" 104 [email protected] "const"
105 [email protected] " " 105 [email protected] " "
@@ -164,7 +164,7 @@ [email protected]
164 [email protected] "address" 164 [email protected] "address"
165 [email protected] ":" 165 [email protected] ":"
166 [email protected] " " 166 [email protected] " "
167 POINTE[email protected] 167 [email protected]
168 [email protected] "*" 168 [email protected] "*"
169 [email protected] "const" 169 [email protected] "const"
170 [email protected] " " 170 [email protected] " "
@@ -278,7 +278,7 @@ [email protected]
278 [email protected] "address" 278 [email protected] "address"
279 [email protected] ":" 279 [email protected] ":"
280 [email protected] " " 280 [email protected] " "
281 POINTE[email protected] 281 [email protected]
282 [email protected] "*" 282 [email protected] "*"
283 [email protected] "mut" 283 [email protected] "mut"
284 [email protected] " " 284 [email protected] " "
@@ -295,7 +295,7 @@ [email protected]
295 [email protected] "address_len" 295 [email protected] "address_len"
296 [email protected] ":" 296 [email protected] ":"
297 [email protected] " " 297 [email protected] " "
298 POINTE[email protected] 298 [email protected]
299 [email protected] "*" 299 [email protected] "*"
300 [email protected] "mut" 300 [email protected] "mut"
301 [email protected] " " 301 [email protected] " "
@@ -375,7 +375,7 @@ [email protected]
375 [email protected] "optval" 375 [email protected] "optval"
376 [email protected] ":" 376 [email protected] ":"
377 [email protected] " " 377 [email protected] " "
378 POINTE[email protected] 378 [email protected]
379 [email protected] "*" 379 [email protected] "*"
380 [email protected] "mut" 380 [email protected] "mut"
381 [email protected] " " 381 [email protected] " "
@@ -393,7 +393,7 @@ [email protected]
393 [email protected] "optlen" 393 [email protected] "optlen"
394 [email protected] ":" 394 [email protected] ":"
395 [email protected] " " 395 [email protected] " "
396 POINTE[email protected] 396 [email protected]
397 [email protected] "*" 397 [email protected] "*"
398 [email protected] "mut" 398 [email protected] "mut"
399 [email protected] " " 399 [email protected] " "
@@ -474,7 +474,7 @@ [email protected]
474 [email protected] "value" 474 [email protected] "value"
475 [email protected] ":" 475 [email protected] ":"
476 [email protected] " " 476 [email protected] " "
477 POINTE[email protected] 477 [email protected]
478 [email protected] "*" 478 [email protected] "*"
479 [email protected] "const" 479 [email protected] "const"
480 [email protected] " " 480 [email protected] " "
@@ -540,7 +540,7 @@ [email protected]
540 [email protected] "address" 540 [email protected] "address"
541 [email protected] ":" 541 [email protected] ":"
542 [email protected] " " 542 [email protected] " "
543 POINTE[email protected] 543 [email protected]
544 [email protected] "*" 544 [email protected] "*"
545 [email protected] "mut" 545 [email protected] "mut"
546 [email protected] " " 546 [email protected] " "
@@ -557,7 +557,7 @@ [email protected]
557 [email protected] "address_len" 557 [email protected] "address_len"
558 [email protected] ":" 558 [email protected] ":"
559 [email protected] " " 559 [email protected] " "
560 POINTE[email protected] 560 [email protected]
561 [email protected] "*" 561 [email protected] "*"
562 [email protected] "mut" 562 [email protected] "mut"
563 [email protected] " " 563 [email protected] " "
@@ -609,7 +609,7 @@ [email protected]
609 [email protected] "buf" 609 [email protected] "buf"
610 [email protected] ":" 610 [email protected] ":"
611 [email protected] " " 611 [email protected] " "
612 POINTE[email protected] 612 [email protected]
613 [email protected] "*" 613 [email protected] "*"
614 [email protected] "const" 614 [email protected] "const"
615 [email protected] " " 615 [email protected] " "
@@ -655,7 +655,7 @@ [email protected]
655 [email protected] "addr" 655 [email protected] "addr"
656 [email protected] ":" 656 [email protected] ":"
657 [email protected] " " 657 [email protected] " "
658 POINTE[email protected] 658 [email protected]
659 [email protected] "*" 659 [email protected] "*"
660 [email protected] "const" 660 [email protected] "const"
661 [email protected] " " 661 [email protected] " "
@@ -720,7 +720,7 @@ [email protected]
720 [email protected] "buf" 720 [email protected] "buf"
721 [email protected] ":" 721 [email protected] ":"
722 [email protected] " " 722 [email protected] " "
723 POINTE[email protected] 723 [email protected]
724 [email protected] "*" 724 [email protected] "*"
725 [email protected] "const" 725 [email protected] "const"
726 [email protected] " " 726 [email protected] " "
@@ -801,7 +801,7 @@ [email protected]
801 [email protected] "buf" 801 [email protected] "buf"
802 [email protected] ":" 802 [email protected] ":"
803 [email protected] " " 803 [email protected] " "
804 POINTE[email protected] 804 [email protected]
805 [email protected] "*" 805 [email protected] "*"
806 [email protected] "mut" 806 [email protected] "mut"
807 [email protected] " " 807 [email protected] " "
@@ -847,7 +847,7 @@ [email protected]
847 [email protected] "addr" 847 [email protected] "addr"
848 [email protected] ":" 848 [email protected] ":"
849 [email protected] " " 849 [email protected] " "
850 POINTE[email protected] 850 [email protected]
851 [email protected] "*" 851 [email protected] "*"
852 [email protected] "mut" 852 [email protected] "mut"
853 [email protected] " " 853 [email protected] " "
@@ -865,7 +865,7 @@ [email protected]
865 [email protected] "addrlen" 865 [email protected] "addrlen"
866 [email protected] ":" 866 [email protected] ":"
867 [email protected] " " 867 [email protected] " "
868 POINTE[email protected] 868 [email protected]
869 [email protected] "*" 869 [email protected] "*"
870 [email protected] "mut" 870 [email protected] "mut"
871 [email protected] " " 871 [email protected] " "
@@ -918,7 +918,7 @@ [email protected]
918 [email protected] "buf" 918 [email protected] "buf"
919 [email protected] ":" 919 [email protected] ":"
920 [email protected] " " 920 [email protected] " "
921 POINTE[email protected] 921 [email protected]
922 [email protected] "*" 922 [email protected] "*"
923 [email protected] "mut" 923 [email protected] "mut"
924 [email protected] " " 924 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast
index 5bb9363a8..7c61b5006 100644
--- a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast
@@ -242,7 +242,7 @@ [email protected]
242 [email protected] "x" 242 [email protected] "x"
243 [email protected] ":" 243 [email protected] ":"
244 [email protected] " " 244 [email protected] " "
245 REFERENCE[email protected] 245 [email protected]
246 [email protected] "&" 246 [email protected] "&"
247 [email protected] 247 [email protected]
248 [email protected] 248 [email protected]
@@ -1579,7 +1579,7 @@ [email protected]
1579 [email protected] "union" 1579 [email protected] "union"
1580 [email protected] ":" 1580 [email protected] ":"
1581 [email protected] " " 1581 [email protected] " "
1582 REFERENCE[email protected] 1582 [email protected]
1583 [email protected] "&" 1583 [email protected] "&"
1584 [email protected] "\'union" 1584 [email protected] "\'union"
1585 [email protected] " " 1585 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast
index 0303b198f..d4f05f279 100644
--- a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast
@@ -96,7 +96,7 @@ [email protected]
96 [email protected] "format" 96 [email protected] "format"
97 [email protected] ":" 97 [email protected] ":"
98 [email protected] " " 98 [email protected] " "
99 POINTE[email protected] 99 [email protected]
100 [email protected] "*" 100 [email protected] "*"
101 [email protected] "const" 101 [email protected] "const"
102 [email protected] " " 102 [email protected] " "
@@ -163,7 +163,7 @@ [email protected]
163 [email protected] "]" 163 [email protected] "]"
164 [email protected] " " 164 [email protected] " "
165 [email protected] 165 [email protected]
166 REFERENCE[email protected] 166 [email protected]
167 [email protected] "&" 167 [email protected] "&"
168 [email protected] "mut" 168 [email protected] "mut"
169 [email protected] " " 169 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast b/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast
index f71ceecd7..f25c9ac36 100644
--- a/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast
@@ -102,7 +102,7 @@ [email protected]
102 [email protected] 102 [email protected]
103 [email protected] "(" 103 [email protected] "("
104 [email protected] 104 [email protected]
105 REFERENCE[email protected] 105 [email protected]
106 [email protected] "&" 106 [email protected] "&"
107 [email protected] 107 [email protected]
108 [email protected] 108 [email protected]
diff --git a/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast
index 42680b283..8eda59976 100644
--- a/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast
@@ -140,9 +140,9 @@ [email protected]
140 [email protected] "a" 140 [email protected] "a"
141 [email protected] ":" 141 [email protected] ":"
142 [email protected] " " 142 [email protected] " "
143 REFERENCE[email protected] 143 [email protected]
144 [email protected] "&" 144 [email protected] "&"
145 REFERENCE[email protected] 145 [email protected]
146 [email protected] "&" 146 [email protected] "&"
147 [email protected] 147 [email protected]
148 [email protected] 148 [email protected]
diff --git a/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast b/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast
index a132591f0..4009b3ff8 100644
--- a/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast
@@ -20,7 +20,7 @@ [email protected]
20 [email protected] "_" 20 [email protected] "_"
21 [email protected] ":" 21 [email protected] ":"
22 [email protected] " " 22 [email protected] " "
23 POINTE[email protected] 23 [email protected]
24 [email protected] "*" 24 [email protected] "*"
25 [email protected] "mut" 25 [email protected] "mut"
26 [email protected] " " 26 [email protected] " "
@@ -49,7 +49,7 @@ [email protected]
49 [email protected] "_" 49 [email protected] "_"
50 [email protected] ":" 50 [email protected] ":"
51 [email protected] " " 51 [email protected] " "
52 POINTE[email protected] 52 [email protected]
53 [email protected] "*" 53 [email protected] "*"
54 [email protected] "mut" 54 [email protected] "mut"
55 [email protected] " " 55 [email protected] " "
@@ -81,7 +81,7 @@ [email protected]
81 [email protected] "_" 81 [email protected] "_"
82 [email protected] ":" 82 [email protected] ":"
83 [email protected] " " 83 [email protected] " "
84 POINTE[email protected] 84 [email protected]
85 [email protected] "*" 85 [email protected] "*"
86 [email protected] "mut" 86 [email protected] "mut"
87 [email protected] " " 87 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast
index 94260db7c..a3c6ed82e 100644
--- a/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast
@@ -143,9 +143,9 @@ [email protected]
143 [email protected] "a" 143 [email protected] "a"
144 [email protected] ":" 144 [email protected] ":"
145 [email protected] " " 145 [email protected] " "
146 REFERENCE[email protected] 146 [email protected]
147 [email protected] "&" 147 [email protected] "&"
148 REFERENCE[email protected] 148 [email protected]
149 [email protected] "&" 149 [email protected] "&"
150 [email protected] 150 [email protected]
151 [email protected] 151 [email protected]
diff --git a/crates/ra_syntax/test_data/parser/ok/0067_where_for_pred.rast b/crates/ra_syntax/test_data/parser/ok/0067_where_for_pred.rast
index fae9467fc..8f8639a37 100644
--- a/crates/ra_syntax/test_data/parser/ok/0067_where_for_pred.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0067_where_for_pred.rast
@@ -42,7 +42,7 @@ [email protected]
42 [email protected] 42 [email protected]
43 [email protected] "(" 43 [email protected] "("
44 [email protected] 44 [email protected]
45 REFERENCE[email protected] 45 [email protected]
46 [email protected] "&" 46 [email protected] "&"
47 [email protected] "\'a" 47 [email protected] "\'a"
48 [email protected] " " 48 [email protected] " "
@@ -85,7 +85,7 @@ [email protected]
85 [email protected] "\'a" 85 [email protected] "\'a"
86 [email protected] ">" 86 [email protected] ">"
87 [email protected] " " 87 [email protected] " "
88 REFERENCE[email protected] 88 [email protected]
89 [email protected] "&" 89 [email protected] "&"
90 [email protected] "\'a" 90 [email protected] "\'a"
91 [email protected] " " 91 [email protected] " "
@@ -138,7 +138,7 @@ [email protected]
138 [email protected] " " 138 [email protected] " "
139 [email protected] 139 [email protected]
140 [email protected] "(" 140 [email protected] "("
141 REFERENCE[email protected] 141 [email protected]
142 [email protected] "&" 142 [email protected] "&"
143 [email protected] "\'a" 143 [email protected] "\'a"
144 [email protected] " " 144 [email protected] " "
@@ -160,7 +160,7 @@ [email protected]
160 [email protected] 160 [email protected]
161 [email protected] "(" 161 [email protected] "("
162 [email protected] 162 [email protected]
163 REFERENCE[email protected] 163 [email protected]
164 [email protected] "&" 164 [email protected] "&"
165 [email protected] "\'a" 165 [email protected] "\'a"
166 [email protected] " " 166 [email protected] " "
@@ -205,7 +205,7 @@ [email protected]
205 [email protected] " " 205 [email protected] " "
206 [email protected] 206 [email protected]
207 [email protected] "[" 207 [email protected] "["
208 REFERENCE[email protected] 208 [email protected]
209 [email protected] "&" 209 [email protected] "&"
210 [email protected] "\'a" 210 [email protected] "\'a"
211 [email protected] " " 211 [email protected] " "
@@ -250,7 +250,7 @@ [email protected]
250 [email protected] "_t" 250 [email protected] "_t"
251 [email protected] ":" 251 [email protected] ":"
252 [email protected] " " 252 [email protected] " "
253 REFERENCE[email protected] 253 [email protected]
254 [email protected] "&" 254 [email protected] "&"
255 [email protected] 255 [email protected]
256 [email protected] 256 [email protected]
@@ -275,7 +275,7 @@ [email protected]
275 [email protected] 275 [email protected]
276 [email protected] 276 [email protected]
277 [email protected] "<" 277 [email protected] "<"
278 REFERENCE[email protected] 278 [email protected]
279 [email protected] "&" 279 [email protected] "&"
280 [email protected] "\'a" 280 [email protected] "\'a"
281 [email protected] " " 281 [email protected] " "
@@ -347,12 +347,12 @@ [email protected]
347 [email protected] "\'b" 347 [email protected] "\'b"
348 [email protected] ">" 348 [email protected] ">"
349 [email protected] " " 349 [email protected] " "
350 FN_POINTE[email protected] 350 [email protected]
351 [email protected] "fn" 351 [email protected] "fn"
352 [email protected] 352 [email protected]
353 [email protected] "(" 353 [email protected] "("
354 [email protected] 354 [email protected]
355 REFERENCE[email protected] 355 [email protected]
356 [email protected] "&" 356 [email protected] "&"
357 [email protected] "\'a" 357 [email protected] "\'a"
358 [email protected] " " 358 [email protected] " "
@@ -364,7 +364,7 @@ [email protected]
364 [email protected] "," 364 [email protected] ","
365 [email protected] " " 365 [email protected] " "
366 [email protected] 366 [email protected]
367 REFERENCE[email protected] 367 [email protected]
368 [email protected] "&" 368 [email protected] "&"
369 [email protected] "\'b" 369 [email protected] "\'b"
370 [email protected] " " 370 [email protected] " "
diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml
index 72a2ae26b..1a1140b04 100644
--- a/xtask/Cargo.toml
+++ b/xtask/Cargo.toml
@@ -15,6 +15,6 @@ flate2 = "1.0"
15pico-args = "0.3.1" 15pico-args = "0.3.1"
16proc-macro2 = "1.0.8" 16proc-macro2 = "1.0.8"
17quote = "1.0.2" 17quote = "1.0.2"
18ungrammar = "0.1.0" 18ungrammar = "1.1.1"
19walkdir = "2.3.1" 19walkdir = "2.3.1"
20write-json = "0.1.0" 20write-json = "0.1.0"
diff --git a/xtask/src/ast_src.rs b/xtask/src/ast_src.rs
index 1386fc4e7..adc191254 100644
--- a/xtask/src/ast_src.rs
+++ b/xtask/src/ast_src.rs
@@ -113,12 +113,12 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc {
113 "TUPLE_TYPE", 113 "TUPLE_TYPE",
114 "NEVER_TYPE", 114 "NEVER_TYPE",
115 "PATH_TYPE", 115 "PATH_TYPE",
116 "POINTER_TYPE", 116 "PTR_TYPE",
117 "ARRAY_TYPE", 117 "ARRAY_TYPE",
118 "SLICE_TYPE", 118 "SLICE_TYPE",
119 "REFERENCE_TYPE", 119 "REF_TYPE",
120 "INFER_TYPE", 120 "INFER_TYPE",
121 "FN_POINTER_TYPE", 121 "FN_PTR_TYPE",
122 "FOR_TYPE", 122 "FOR_TYPE",
123 "IMPL_TRAIT_TYPE", 123 "IMPL_TRAIT_TYPE",
124 "DYN_TRAIT_TYPE", 124 "DYN_TRAIT_TYPE",
diff --git a/xtask/src/codegen/gen_syntax.rs b/xtask/src/codegen/gen_syntax.rs
index 4602ff1d7..cafad8070 100644
--- a/xtask/src/codegen/gen_syntax.rs
+++ b/xtask/src/codegen/gen_syntax.rs
@@ -10,7 +10,7 @@ use std::{
10 10
11use proc_macro2::{Punct, Spacing}; 11use proc_macro2::{Punct, Spacing};
12use quote::{format_ident, quote}; 12use quote::{format_ident, quote};
13use ungrammar::{Grammar, Rule}; 13use ungrammar::{rust_grammar, Grammar, Rule};
14 14
15use crate::{ 15use crate::{
16 ast_src::{AstEnumSrc, AstNodeSrc, AstSrc, Cardinality, Field, KindsSrc, KINDS_SRC}, 16 ast_src::{AstEnumSrc, AstNodeSrc, AstSrc, Cardinality, Field, KindsSrc, KINDS_SRC},
@@ -19,9 +19,7 @@ use crate::{
19}; 19};
20 20
21pub fn generate_syntax(mode: Mode) -> Result<()> { 21pub fn generate_syntax(mode: Mode) -> Result<()> {
22 let grammar = include_str!("rust.ungram") 22 let grammar = rust_grammar();
23 .parse::<Grammar>()
24 .unwrap_or_else(|err| panic!("\n \x1b[91merror\x1b[0m: {}\n", err));
25 let ast = lower(&grammar); 23 let ast = lower(&grammar);
26 24
27 let syntax_kinds_file = project_root().join(codegen::SYNTAX_KINDS); 25 let syntax_kinds_file = project_root().join(codegen::SYNTAX_KINDS);
@@ -538,6 +536,7 @@ fn lower_enum(grammar: &Grammar, rule: &Rule) -> Option<Vec<String>> {
538 for alternative in alternatives { 536 for alternative in alternatives {
539 match alternative { 537 match alternative {
540 Rule::Node(it) => variants.push(grammar[*it].name.clone()), 538 Rule::Node(it) => variants.push(grammar[*it].name.clone()),
539 Rule::Token(it) if grammar[*it].name == ";" => (),
541 _ => return None, 540 _ => return None,
542 } 541 }
543 } 542 }
@@ -591,8 +590,8 @@ fn lower_rule(acc: &mut Vec<Field>, grammar: &Grammar, label: Option<&String>, r
591 | "index" 590 | "index"
592 | "base" 591 | "base"
593 | "value" 592 | "value"
594 | "target_type" 593 | "trait"
595 | "target_trait" 594 | "self_ty"
596 ); 595 );
597 if manually_implemented { 596 if manually_implemented {
598 return; 597 return;