@@ -225,6 +225,7 @@ public enum RustGrammar implements GrammarRuleKey {
225
225
PATH_PATTERN ,
226
226
PATTERN ,
227
227
PATTERN_NO_TOP_ALT ,
228
+ PATTERN_WITHOUT_RANGE ,
228
229
PERCENTEQ_EXPRESSION ,
229
230
PLUSEQ_EXPRESSION ,
230
231
PREDICATE_LOOP_EXPRESSION ,
@@ -732,7 +733,7 @@ private static void implItem(LexerlessGrammarBuilder b) {
732
733
b .rule (TRAIT_IMPL ).is (
733
734
b .optional (RustKeyword .KW_UNSAFE , SPC ), RustKeyword .KW_IMPL , SPC ,
734
735
b .optional (GENERIC_PARAMS , SPC ),
735
- b .optional (RustPunctuator .NOT ,SPC ), TYPE_PATH , SPC , RustKeyword .KW_FOR , SPC , TYPE , SPC ,
736
+ b .optional (RustPunctuator .NOT , SPC ), TYPE_PATH , SPC , RustKeyword .KW_FOR , SPC , TYPE , SPC ,
736
737
b .optional (WHERE_CLAUSE , SPC ), "{" , SPC ,
737
738
b .zeroOrMore (INNER_ATTRIBUTE , SPC ),
738
739
b .zeroOrMore (ASSOCIATED_ITEM , SPC ), "}"
@@ -833,8 +834,8 @@ private static void externcrates(LexerlessGrammarBuilder b) {
833
834
834
835
private static void modules (LexerlessGrammarBuilder b ) {
835
836
b .rule (MODULE ).is (b .firstOf (
836
- b .sequence (b .optional (RustKeyword .KW_UNSAFE , SPC ),RustKeyword .KW_MOD , SPC , IDENTIFIER , SPC , RustPunctuator .SEMI ),
837
- b .sequence (b .optional (RustKeyword .KW_UNSAFE , SPC ),RustKeyword .KW_MOD , SPC , IDENTIFIER , SPC , "{" , SPC ,
837
+ b .sequence (b .optional (RustKeyword .KW_UNSAFE , SPC ), RustKeyword .KW_MOD , SPC , IDENTIFIER , SPC , RustPunctuator .SEMI ),
838
+ b .sequence (b .optional (RustKeyword .KW_UNSAFE , SPC ), RustKeyword .KW_MOD , SPC , IDENTIFIER , SPC , "{" , SPC ,
838
839
b .zeroOrMore (INNER_ATTRIBUTE , SPC ),
839
840
b .zeroOrMore (ITEM , SPC ), "}"
840
841
)));
@@ -974,6 +975,10 @@ private static void patterns(LexerlessGrammarBuilder b) {
974
975
);
975
976
b .rule (PATTERN_NO_TOP_ALT ).is (b .firstOf (
976
977
RANGE_PATTERN ,
978
+ PATTERN_WITHOUT_RANGE
979
+ ));
980
+
981
+ b .rule (PATTERN_WITHOUT_RANGE ).is (b .firstOf (
977
982
TUPLE_STRUCT_PATTERN ,
978
983
STRUCT_PATTERN ,
979
984
MACRO_INVOCATION ,
@@ -1004,7 +1009,10 @@ private static void patterns(LexerlessGrammarBuilder b) {
1004
1009
TUPLE_PATTERN ,
1005
1010
GROUPED_PATTERN ,
1006
1011
SLICE_PATTERN
1012
+
1013
+
1007
1014
));
1015
+
1008
1016
b .rule (LITERAL_PATTERN ).is (b .firstOf (
1009
1017
BOOLEAN_LITERAL ,
1010
1018
CHAR_LITERAL ,
@@ -1026,10 +1034,10 @@ private static void patterns(LexerlessGrammarBuilder b) {
1026
1034
b .rule (WILDCARD_PATTERN ).is (RustPunctuator .UNDERSCORE );
1027
1035
b .rule (REST_PATTERN ).is (RustPunctuator .DOTDOT );
1028
1036
1029
- b .rule (RANGE_PATTERN ).is (b .firstOf (OBSOLETE_RANGE_PATTERN ,INCLUSIVE_RANGE_PATTERN , HALF_OPEN_RANGE_PATTERN ));
1037
+ b .rule (RANGE_PATTERN ).is (b .firstOf (OBSOLETE_RANGE_PATTERN , INCLUSIVE_RANGE_PATTERN , HALF_OPEN_RANGE_PATTERN ));
1030
1038
b .rule (INCLUSIVE_RANGE_PATTERN ).is (b .sequence (RANGE_PATTERN_BOUND , RustPunctuator .DOTDOTEQ , RANGE_PATTERN_BOUND ));
1031
1039
b .rule (HALF_OPEN_RANGE_PATTERN ).is (b .sequence (RANGE_PATTERN_BOUND , RustPunctuator .DOTDOT ));
1032
- b .rule (OBSOLETE_RANGE_PATTERN ).is (b .sequence (RANGE_PATTERN_BOUND , RustPunctuator .DOTDOTDOT , RANGE_PATTERN_BOUND ));
1040
+ b .rule (OBSOLETE_RANGE_PATTERN ).is (b .sequence (RANGE_PATTERN_BOUND , RustPunctuator .DOTDOTDOT , RANGE_PATTERN_BOUND ));
1033
1041
b .rule (RANGE_PATTERN_BOUND ).is (b .firstOf (
1034
1042
CHAR_LITERAL , BYTE_LITERAL , b .sequence (b .optional ("-" ), INTEGER_LITERAL ),
1035
1043
b .sequence (b .optional ("-" ), FLOAT_LITERAL ),
@@ -1039,7 +1047,7 @@ private static void patterns(LexerlessGrammarBuilder b) {
1039
1047
b .rule (REFERENCE_PATTERN ).is (
1040
1048
b .firstOf (RustPunctuator .ANDAND , RustPunctuator .AND ),
1041
1049
b .optional (RustKeyword .KW_MUT ),
1042
- PATTERN
1050
+ PATTERN_WITHOUT_RANGE
1043
1051
);
1044
1052
b .rule (STRUCT_PATTERN ).is (
1045
1053
PATH_IN_EXPRESSION , SPC , "{" , SPC , b .optional (STRUCT_PATTERN_ELEMENTS ), SPC , "}"
@@ -1113,7 +1121,7 @@ private static void functionpointer(LexerlessGrammarBuilder b) {
1113
1121
b .optional (BARE_FUNCTION_RETURN_TYPE )
1114
1122
);
1115
1123
1116
- b .rule (FUNCTION_TYPE_QUALIFIERS ).is (b .optional (RustKeyword .KW_UNSAFE ), b .optional (SPC ,RustKeyword .KW_EXTERN , SPC , b .optional (ABI )));
1124
+ b .rule (FUNCTION_TYPE_QUALIFIERS ).is (b .optional (RustKeyword .KW_UNSAFE ), b .optional (SPC , RustKeyword .KW_EXTERN , SPC , b .optional (ABI )));
1117
1125
1118
1126
b .rule (BARE_FUNCTION_RETURN_TYPE ).is (RustPunctuator .RARROW , SPC , TYPE_NO_BOUNDS );
1119
1127
b .rule (FUNCTION_PARAMETERS_MAYBE_NAMED_VARIADIC ).is (b .firstOf (
0 commit comments