@@ -831,15 +831,14 @@ module.exports = grammar({
831831
832832 // Section - Expressions
833833
834- _expression : $ => choice (
834+ _expression_except_range : $ => choice (
835835 $ . unary_expression ,
836836 $ . reference_expression ,
837837 $ . try_expression ,
838838 $ . binary_expression ,
839839 $ . assignment_expression ,
840840 $ . compound_assignment_expr ,
841841 $ . type_cast_expression ,
842- $ . range_expression ,
843842 $ . call_expression ,
844843 $ . return_expression ,
845844 $ . yield_expression ,
@@ -856,14 +855,19 @@ module.exports = grammar({
856855 $ . tuple_expression ,
857856 prec ( 1 , $ . macro_invocation ) ,
858857 $ . unit_expression ,
859- $ . _expression_ending_with_block ,
860858 $ . break_expression ,
861859 $ . continue_expression ,
862860 $ . index_expression ,
863861 $ . metavariable ,
864862 $ . closure_expression ,
865863 $ . parenthesized_expression ,
866- $ . struct_expression
864+ $ . struct_expression ,
865+ $ . _expression_ending_with_block ,
866+ ) ,
867+
868+ _expression : $ => choice (
869+ $ . _expression_except_range ,
870+ $ . range_expression ,
867871 ) ,
868872
869873 _expression_ending_with_block : $ => choice (
@@ -921,10 +925,7 @@ module.exports = grammar({
921925 ) ,
922926
923927 range_expression : $ => prec . left ( PREC . range , choice (
924- prec . left (
925- PREC . range + 1 ,
926- seq ( $ . _expression , choice ( '..' , '...' , '..=' ) , $ . _expression )
927- ) ,
928+ seq ( $ . _expression , choice ( '..' , '...' , '..=' ) , $ . _expression ) ,
928929 seq ( $ . _expression , '..' ) ,
929930 seq ( '..' , $ . _expression ) ,
930931 '..'
@@ -995,7 +996,7 @@ module.exports = grammar({
995996 ) ,
996997
997998 call_expression : $ => prec ( PREC . call , seq (
998- field ( 'function' , $ . _expression ) ,
999+ field ( 'function' , $ . _expression_except_range ) ,
9991000 field ( 'arguments' , $ . arguments )
10001001 ) ) ,
10011002
0 commit comments