File tree 2 files changed +5
-18
lines changed
2 files changed +5
-18
lines changed Original file line number Diff line number Diff line change @@ -271,14 +271,13 @@ impl<'a> Parser<'a> {
271
271
let mut recovered = None ;
272
272
if self . token == token:: Dot {
273
273
// Attempt to recover `.4` as `0.4`.
274
- recovered = self . look_ahead ( 1 , |t | {
274
+ recovered = self . look_ahead ( 1 , |next_token | {
275
275
if let token:: Literal ( token:: Lit { kind : token:: Integer , symbol, suffix } )
276
- = t. kind {
277
- let next_span = self . look_ahead_span ( 1 ) ;
278
- if self . token . span . hi ( ) == next_span. lo ( ) {
276
+ = next_token. kind {
277
+ if self . token . span . hi ( ) == next_token. span . lo ( ) {
279
278
let s = String :: from ( "0." ) + & symbol. as_str ( ) ;
280
279
let kind = TokenKind :: lit ( token:: Float , Symbol :: intern ( & s) , suffix) ;
281
- return Some ( Token :: new ( kind, self . token . span . to ( next_span ) ) ) ;
280
+ return Some ( Token :: new ( kind, self . token . span . to ( next_token . span ) ) ) ;
282
281
}
283
282
}
284
283
None
Original file line number Diff line number Diff line change @@ -1064,18 +1064,6 @@ impl<'a> Parser<'a> {
1064
1064
} )
1065
1065
}
1066
1066
1067
- crate fn look_ahead_span ( & self , dist : usize ) -> Span {
1068
- if dist == 0 {
1069
- return self . token . span
1070
- }
1071
-
1072
- match self . token_cursor . frame . tree_cursor . look_ahead ( dist - 1 ) {
1073
- Some ( TokenTree :: Token ( token) ) => token. span ,
1074
- Some ( TokenTree :: Delimited ( span, ..) ) => span. entire ( ) ,
1075
- None => self . look_ahead_span ( dist - 1 ) ,
1076
- }
1077
- }
1078
-
1079
1067
/// Returns whether any of the given keywords are `dist` tokens ahead of the current one.
1080
1068
fn is_keyword_ahead ( & self , dist : usize , kws : & [ Symbol ] ) -> bool {
1081
1069
self . look_ahead ( dist, |t| kws. iter ( ) . any ( |& kw| t. is_keyword ( kw) ) )
@@ -3067,7 +3055,7 @@ impl<'a> Parser<'a> {
3067
3055
let mut err =
3068
3056
self . sess . span_diagnostic . struct_span_err ( self . token . span , & msg) ;
3069
3057
let span_after_type = parser_snapshot_after_type. token . span ;
3070
- err. span_label ( self . look_ahead_span ( 1 ) . to ( span_after_type) ,
3058
+ err. span_label ( self . look_ahead ( 1 , |t| t . span ) . to ( span_after_type) ,
3071
3059
"interpreted as generic arguments" ) ;
3072
3060
err. span_label ( self . token . span , format ! ( "not interpreted as {}" , op_noun) ) ;
3073
3061
You can’t perform that action at this time.
0 commit comments