@@ -1002,20 +1002,22 @@ impl<'a> Parser<'a> {
1002
1002
match self . token . uninterpolate ( ) . kind {
1003
1003
token:: Ident ( ..) => self . parse_dot_suffix ( base, lo) ,
1004
1004
token:: Literal ( token:: Lit { kind : token:: Integer , symbol, suffix } ) => {
1005
- Ok ( self . parse_expr_tuple_field_access ( lo, base, symbol, suffix, None ) )
1005
+ self . bump ( ) ;
1006
+ Ok ( self . parse_expr_tuple_field_access ( lo, base, symbol, suffix) )
1006
1007
}
1007
1008
token:: Literal ( token:: Lit { kind : token:: Float , symbol, suffix } ) => {
1008
1009
Ok ( match self . break_up_float ( symbol, self . token . span ) {
1009
1010
// 1e2
1010
1011
DestructuredFloat :: Single ( sym, _sp) => {
1011
- self . parse_expr_tuple_field_access ( lo, base, sym, suffix, None )
1012
+ self . bump ( ) ;
1013
+ self . parse_expr_tuple_field_access ( lo, base, sym, suffix)
1012
1014
}
1013
1015
// 1.
1014
1016
DestructuredFloat :: TrailingDot ( sym, ident_span, dot_span) => {
1015
1017
assert ! ( suffix. is_none( ) ) ;
1016
1018
self . token = Token :: new ( token:: Ident ( sym, IdentIsRaw :: No ) , ident_span) ;
1017
- let next_token = ( Token :: new ( token:: Dot , dot_span) , self . token_spacing ) ;
1018
- self . parse_expr_tuple_field_access ( lo, base, sym, None , Some ( next_token ) )
1019
+ self . bump_with ( ( Token :: new ( token:: Dot , dot_span) , self . token_spacing ) ) ;
1020
+ self . parse_expr_tuple_field_access ( lo, base, sym, None )
1019
1021
}
1020
1022
// 1.2 | 1.2e3
1021
1023
DestructuredFloat :: MiddleDot (
@@ -1028,18 +1030,13 @@ impl<'a> Parser<'a> {
1028
1030
self . token = Token :: new ( token:: Ident ( symbol1, IdentIsRaw :: No ) , ident1_span) ;
1029
1031
// This needs to be `Spacing::Alone` to prevent regressions.
1030
1032
// See issue #76399 and PR #76285 for more details
1031
- let next_token1 = ( Token :: new ( token:: Dot , dot_span) , Spacing :: Alone ) ;
1032
- let base1 = self . parse_expr_tuple_field_access (
1033
- lo,
1034
- base,
1035
- symbol1,
1036
- None ,
1037
- Some ( next_token1) ,
1038
- ) ;
1033
+ self . bump_with ( ( Token :: new ( token:: Dot , dot_span) , Spacing :: Alone ) ) ;
1034
+ let base1 = self . parse_expr_tuple_field_access ( lo, base, symbol1, None ) ;
1039
1035
let next_token2 =
1040
1036
Token :: new ( token:: Ident ( symbol2, IdentIsRaw :: No ) , ident2_span) ;
1041
1037
self . bump_with ( ( next_token2, self . token_spacing ) ) ; // `.`
1042
- self . parse_expr_tuple_field_access ( lo, base1, symbol2, suffix, None )
1038
+ self . bump ( ) ;
1039
+ self . parse_expr_tuple_field_access ( lo, base1, symbol2, suffix)
1043
1040
}
1044
1041
DestructuredFloat :: Error => base,
1045
1042
} )
@@ -1263,12 +1260,7 @@ impl<'a> Parser<'a> {
1263
1260
base : P < Expr > ,
1264
1261
field : Symbol ,
1265
1262
suffix : Option < Symbol > ,
1266
- next_token : Option < ( Token , Spacing ) > ,
1267
1263
) -> P < Expr > {
1268
- match next_token {
1269
- Some ( next_token) => self . bump_with ( next_token) ,
1270
- None => self . bump ( ) ,
1271
- }
1272
1264
let span = self . prev_token . span ;
1273
1265
let field = ExprKind :: Field ( base, Ident :: new ( field, span) ) ;
1274
1266
if let Some ( suffix) = suffix {
0 commit comments