File tree Expand file tree Collapse file tree 2 files changed +5
-18
lines changed Expand file tree Collapse file tree 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> {
271271 let mut recovered = None ;
272272 if self . token == token:: Dot {
273273 // Attempt to recover `.4` as `0.4`.
274- recovered = self . look_ahead ( 1 , |t | {
274+ recovered = self . look_ahead ( 1 , |next_token | {
275275 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 ( ) {
279278 let s = String :: from ( "0." ) + & symbol. as_str ( ) ;
280279 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 ) ) ) ;
282281 }
283282 }
284283 None
Original file line number Diff line number Diff line change @@ -1064,18 +1064,6 @@ impl<'a> Parser<'a> {
10641064 } )
10651065 }
10661066
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-
10791067 /// Returns whether any of the given keywords are `dist` tokens ahead of the current one.
10801068 fn is_keyword_ahead ( & self , dist : usize , kws : & [ Symbol ] ) -> bool {
10811069 self . look_ahead ( dist, |t| kws. iter ( ) . any ( |& kw| t. is_keyword ( kw) ) )
@@ -3067,7 +3055,7 @@ impl<'a> Parser<'a> {
30673055 let mut err =
30683056 self . sess . span_diagnostic . struct_span_err ( self . token . span , & msg) ;
30693057 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) ,
30713059 "interpreted as generic arguments" ) ;
30723060 err. span_label ( self . token . span , format ! ( "not interpreted as {}" , op_noun) ) ;
30733061
You can’t perform that action at this time.
0 commit comments