Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/syntax/rust.ungram')
-rw-r--r--crates/syntax/rust.ungram14
1 files changed, 13 insertions, 1 deletions
diff --git a/crates/syntax/rust.ungram b/crates/syntax/rust.ungram
index 324b2bbd58..768cf2013d 100644
--- a/crates/syntax/rust.ungram
+++ b/crates/syntax/rust.ungram
@@ -277,6 +277,7 @@ RecordFieldList =
RecordField =
Attr* Visibility? 'unsafe'?
+ MutRestriction?
Name ':' Type ('=' default_val:ConstArg)?
TupleFieldList =
@@ -284,12 +285,16 @@ TupleFieldList =
TupleField =
Attr* Visibility?
+ MutRestriction?
Type
FieldList =
RecordFieldList
| TupleFieldList
+MutRestriction =
+ 'mut' VisibilityInner
+
Enum =
Attr* Visibility?
'enum' Name GenericParamList? WhereClause?
@@ -323,6 +328,7 @@ VariantDef =
Const =
Attr* Visibility?
'default'?
+ 'type'?
'const' (Name | '_') GenericParamList? ':' Type
('=' body:Expr)?
WhereClause? ';'
@@ -336,10 +342,14 @@ Static =
Trait =
Attr* Visibility?
'unsafe'? 'auto'?
+ ImplRestriction?
'trait' Name GenericParamList?
(((':' TypeBoundList?)? WhereClause? AssocItemList) |
('=' TypeBoundList? WhereClause? ';'))
+ImplRestriction =
+ 'impl' VisibilityInner
+
AssocItemList =
'{' Attr* AssocItem* '}'
@@ -368,8 +378,10 @@ ExternItem =
| TypeAlias
Visibility =
- 'pub' ('(' 'in'? Path ')')?
+ 'pub' VisibilityInner?
+VisibilityInner =
+ '(' 'in'? Path ')'
//****************************//
// Statements and Expressions //