@@ -180,7 +180,7 @@ impl<'a> Parser<'a> {
180180 LhsExpr :: AttributesParsed ( attrs) => Some ( attrs) ,
181181 _ => None ,
182182 } ;
183- if [ token :: DotDot , token :: DotDotDot , token :: DotDotEq ] . contains ( & self . token . kind ) {
183+ if self . token . is_range_seperator ( ) {
184184 return self . parse_prefix_range_expr ( attrs) ;
185185 } else {
186186 self . parse_prefix_expr ( attrs) ?
@@ -512,7 +512,7 @@ impl<'a> Parser<'a> {
512512 }
513513
514514 debug_assert ! (
515- [ token :: DotDot , token :: DotDotDot , token :: DotDotEq ] . contains ( & self . token. kind ) ,
515+ self . token. is_range_seperator ( ) ,
516516 "parse_prefix_range_expr: token {:?} is not DotDot/DotDotEq" ,
517517 self . token
518518 ) ;
@@ -896,7 +896,11 @@ impl<'a> Parser<'a> {
896896 let has_lifetime = self . token . is_lifetime ( ) && self . look_ahead ( 1 , |t| t != & token:: Colon ) ;
897897 let lifetime = has_lifetime. then ( || self . expect_lifetime ( ) ) ; // For recovery, see below.
898898 let ( borrow_kind, mutbl) = self . parse_borrow_modifiers ( lo) ;
899- let expr = self . parse_prefix_expr ( None ) ;
899+ let expr = if self . token . is_range_seperator ( ) {
900+ self . parse_prefix_range_expr ( None )
901+ } else {
902+ self . parse_prefix_expr ( None )
903+ } ;
900904 let ( hi, expr) = self . interpolated_or_expr_span ( expr) ?;
901905 let span = lo. to ( hi) ;
902906 if let Some ( lt) = lifetime {
0 commit comments