Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/syntax/rust.ungram')
-rw-r--r--crates/syntax/rust.ungram13
1 files changed, 12 insertions, 1 deletions
diff --git a/crates/syntax/rust.ungram b/crates/syntax/rust.ungram
index 324b2bbd58..caf92aca87 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?
@@ -336,10 +341,14 @@ Static =
Trait =
Attr* Visibility?
'unsafe'? 'auto'?
+ ImplRestriction?
'trait' Name GenericParamList?
(((':' TypeBoundList?)? WhereClause? AssocItemList) |
('=' TypeBoundList? WhereClause? ';'))
+ImplRestriction =
+ 'impl' VisibilityInner
+
AssocItemList =
'{' Attr* AssocItem* '}'
@@ -368,8 +377,10 @@ ExternItem =
| TypeAlias
Visibility =
- 'pub' ('(' 'in'? Path ')')?
+ 'pub' VisibilityInner?
+VisibilityInner =
+ '(' 'in'? Path ')'
//****************************//
// Statements and Expressions //