aboutsummaryrefslogtreecommitdiff
path: root/xtask/src/codegen/rust.ungram
diff options
context:
space:
mode:
Diffstat (limited to 'xtask/src/codegen/rust.ungram')
-rw-r--r--xtask/src/codegen/rust.ungram29
1 files changed, 15 insertions, 14 deletions
diff --git a/xtask/src/codegen/rust.ungram b/xtask/src/codegen/rust.ungram
index a93cb3815..76c070402 100644
--- a/xtask/src/codegen/rust.ungram
+++ b/xtask/src/codegen/rust.ungram
@@ -19,6 +19,13 @@ Item =
19| UnionDef 19| UnionDef
20| UseItem 20| UseItem
21 21
22Module =
23 Attr* Visibility? 'mod' Name
24 (ItemList | ';')
25
26ItemList =
27 '{' Attr* Item* '}'
28
22FnDef = 29FnDef =
23 Attr* Visibility? Abi? 'const' 'default' 'async' 'unsafe' 'fn' Name TypeParamList? 30 Attr* Visibility? Abi? 'const' 'default' 'async' 'unsafe' 'fn' Name TypeParamList?
24 ParamList RetType? 31 ParamList RetType?
@@ -67,17 +74,10 @@ EnumVariant =
67TraitDef = 74TraitDef =
68 Attr* Visibility? 'unsafe'? 'auto'? 'trait' Name TypeParamList 75 Attr* Visibility? 'unsafe'? 'auto'? 'trait' Name TypeParamList
69 (':' TypeBoundList?)? WhereClause 76 (':' TypeBoundList?)? WhereClause
70 ItemList 77 AssocItemList
71 78
72Module = 79AssocItemList =
73 Attr* Visibility? 'mod' Name 80 '{' AssocItem* '}'
74 (ItemList | ';')
75
76ItemList =
77 '{'
78 AssocItem*
79 Item*
80 '}'
81 81
82ConstDef = 82ConstDef =
83 Attr* Visibility? 'default'? 'const' Name ':' ascribed_type:TypeRef 83 Attr* Visibility? 'default'? 'const' Name ':' ascribed_type:TypeRef
@@ -94,7 +94,7 @@ TypeAliasDef =
94ImplDef = 94ImplDef =
95 Attr* Visibility? 'const'? 'default'? 'unsafe'? 'impl' TypeParamList? '!'? 'for' 95 Attr* Visibility? 'const'? 'default'? 'unsafe'? 'impl' TypeParamList? '!'? 'for'
96 WhereClause? 96 WhereClause?
97 ItemList 97 AssocItemList
98 98
99ParenType = 99ParenType =
100 '(' TypeRef ')' 100 '(' TypeRef ')'
@@ -396,16 +396,16 @@ UseItem =
396 Attr* Visibility? 'use' UseTree ';' 396 Attr* Visibility? 'use' UseTree ';'
397 397
398UseTree = 398UseTree =
399 Path ('::' ('*' | UseTreeList)) Alias? 399 Path ('::' ('*' | UseTreeList)) Rename?
400 400
401UseTreeList = 401UseTreeList =
402 '{' UseTree* '}' 402 '{' UseTree* '}'
403 403
404Alias = 404Rename =
405 'as' Name 405 'as' Name
406 406
407ExternCrateItem = 407ExternCrateItem =
408 Attr* Visibility? 'extern' 'crate' (NameRef | 'self') Alias? ';' 408 Attr* Visibility? 'extern' 'crate' (NameRef | 'self') Rename? ';'
409 409
410Path = 410Path =
411 (qualifier:Path '::')? segment:PathSegment 411 (qualifier:Path '::')? segment:PathSegment
@@ -467,6 +467,7 @@ AssocItem =
467 FnDef 467 FnDef
468| TypeAliasDef 468| TypeAliasDef
469| ConstDef 469| ConstDef
470| MacroCall
470 471
471ExternItem = 472ExternItem =
472 FnDef | StaticDef 473 FnDef | StaticDef