aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax
diff options
context:
space:
mode:
authorDJMcNab <[email protected]>2019-11-18 18:13:56 +0000
committerDJMcNab <[email protected]>2019-11-18 18:13:56 +0000
commit27ce1e822b9b5e498aec8ce9efd8efc7c5a80b5f (patch)
treea9ffb6963ac491bd8a6bd6114591510104ad07de /crates/ra_syntax
parent7614439033bc8b68d3982d93595161ddfda80837 (diff)
Remove the custom impl of AttrsOwner for ImplItem
The default impl should have the same behaviour, and it can be generated by codegen. See also `ModuleItem` and `NominalDef`
Diffstat (limited to 'crates/ra_syntax')
-rw-r--r--crates/ra_syntax/src/ast/extensions.rs12
-rw-r--r--crates/ra_syntax/src/ast/generated.rs1
-rw-r--r--crates/ra_syntax/src/grammar.ron3
3 files changed, 4 insertions, 12 deletions
diff --git a/crates/ra_syntax/src/ast/extensions.rs b/crates/ra_syntax/src/ast/extensions.rs
index cefc00402..761b2435c 100644
--- a/crates/ra_syntax/src/ast/extensions.rs
+++ b/crates/ra_syntax/src/ast/extensions.rs
@@ -2,7 +2,7 @@
2//! Extensions for various expressions live in a sibling `expr_extensions` module. 2//! Extensions for various expressions live in a sibling `expr_extensions` module.
3 3
4use crate::{ 4use crate::{
5 ast::{self, child_opt, children, AstChildren, AstNode, AttrInput, SyntaxNode}, 5 ast::{self, child_opt, children, AstNode, AttrInput, SyntaxNode},
6 SmolStr, SyntaxElement, 6 SmolStr, SyntaxElement,
7 SyntaxKind::*, 7 SyntaxKind::*,
8 SyntaxToken, T, 8 SyntaxToken, T,
@@ -176,16 +176,6 @@ impl ast::ImplBlock {
176 } 176 }
177} 177}
178 178
179impl ast::AttrsOwner for ast::ImplItem {
180 fn attrs(&self) -> AstChildren<ast::Attr> {
181 match self {
182 ast::ImplItem::FnDef(it) => it.attrs(),
183 ast::ImplItem::TypeAliasDef(it) => it.attrs(),
184 ast::ImplItem::ConstDef(it) => it.attrs(),
185 }
186 }
187}
188
189#[derive(Debug, Clone, PartialEq, Eq)] 179#[derive(Debug, Clone, PartialEq, Eq)]
190pub enum StructKind { 180pub enum StructKind {
191 Tuple(ast::TupleFieldDefList), 181 Tuple(ast::TupleFieldDefList),
diff --git a/crates/ra_syntax/src/ast/generated.rs b/crates/ra_syntax/src/ast/generated.rs
index 34b22c3e2..2b381dcdb 100644
--- a/crates/ra_syntax/src/ast/generated.rs
+++ b/crates/ra_syntax/src/ast/generated.rs
@@ -1298,6 +1298,7 @@ impl AstNode for ImplItem {
1298 } 1298 }
1299 } 1299 }
1300} 1300}
1301impl ast::AttrsOwner for ImplItem {}
1301impl ImplItem {} 1302impl ImplItem {}
1302#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1303#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1303pub struct ImplTraitType { 1304pub struct ImplTraitType {
diff --git a/crates/ra_syntax/src/grammar.ron b/crates/ra_syntax/src/grammar.ron
index 0a8fd0612..70d85a8e6 100644
--- a/crates/ra_syntax/src/grammar.ron
+++ b/crates/ra_syntax/src/grammar.ron
@@ -401,7 +401,8 @@ Grammar(
401 traits: ["AttrsOwner"] 401 traits: ["AttrsOwner"]
402 ), 402 ),
403 "ImplItem": ( 403 "ImplItem": (
404 enum: ["FnDef", "TypeAliasDef", "ConstDef"] 404 enum: ["FnDef", "TypeAliasDef", "ConstDef"],
405 traits: ["AttrsOwner"]
405 ), 406 ),
406 407
407 "TupleExpr": ( 408 "TupleExpr": (