diff --git a/crates/ra_syntax/src/ast/generated/nodes.rs b/crates/ra_syntax/src/ast/generated/nodes.rs index 46d73215c6..1776fb6e69 100644 --- a/crates/ra_syntax/src/ast/generated/nodes.rs +++ b/crates/ra_syntax/src/ast/generated/nodes.rs @@ -422,7 +422,6 @@ pub struct TupleField { pub(crate) syntax: SyntaxNode, } impl ast::AttrsOwner for TupleField {} -impl ast::NameOwner for TupleField {} impl ast::VisibilityOwner for TupleField {} impl TupleField { pub fn type_ref(&self) -> Option { support::child(&self.syntax) } diff --git a/xtask/src/codegen/rust.ungram b/xtask/src/codegen/rust.ungram index ba922af0d4..28b50f021a 100644 --- a/xtask/src/codegen/rust.ungram +++ b/xtask/src/codegen/rust.ungram @@ -83,22 +83,21 @@ StructDef = ) RecordFieldList = - '{' fields:RecordField* '}' + '{' fields:(RecordField (',' RecordField)* ','?)? '}' RecordField = Attr* Visibility? Name ':' ascribed_type:TypeRef TupleFieldList = - '(' fields:TupleField* ')' + '(' fields:(TupleField (',' TupleField)* ','?)? ')' TupleField = - Attr* Visibility? Name TypeRef + Attr* Visibility? TypeRef FieldList = RecordFieldList | TupleFieldList - UnionDef = Attr* Visibility? 'union' Name GenericParamList? WhereClause? RecordFieldList