@@ -260,24 +260,24 @@ impl<'a> Parser<'a> {
260
260
} ;
261
261
(
262
262
format ! ( "expected one of {}, found {}" , expect, actual) ,
263
- ( self . prev_span . shrink_to_hi ( ) , format ! ( "expected one of {}" , short_expect) ) ,
263
+ ( self . prev_token . span . shrink_to_hi ( ) , format ! ( "expected one of {}" , short_expect) ) ,
264
264
)
265
265
} else if expected. is_empty ( ) {
266
266
(
267
267
format ! ( "unexpected token: {}" , actual) ,
268
- ( self . prev_span , "unexpected token after this" . to_string ( ) ) ,
268
+ ( self . prev_token . span , "unexpected token after this" . to_string ( ) ) ,
269
269
)
270
270
} else {
271
271
(
272
272
format ! ( "expected {}, found {}" , expect, actual) ,
273
- ( self . prev_span . shrink_to_hi ( ) , format ! ( "expected {}" , expect) ) ,
273
+ ( self . prev_token . span . shrink_to_hi ( ) , format ! ( "expected {}" , expect) ) ,
274
274
)
275
275
} ;
276
276
self . last_unexpected_token_span = Some ( self . token . span ) ;
277
277
let mut err = self . struct_span_err ( self . token . span , & msg_exp) ;
278
278
let sp = if self . token == token:: Eof {
279
279
// This is EOF; don't want to point at the following char, but rather the last token.
280
- self . prev_span
280
+ self . prev_token . span
281
281
} else {
282
282
label_sp
283
283
} ;
@@ -298,7 +298,7 @@ impl<'a> Parser<'a> {
298
298
}
299
299
300
300
let sm = self . sess . source_map ( ) ;
301
- if self . prev_span == DUMMY_SP {
301
+ if self . prev_token . span == DUMMY_SP {
302
302
// Account for macro context where the previous span might not be
303
303
// available to avoid incorrect output (#54841).
304
304
err. span_label ( self . token . span , label_exp) ;
@@ -577,7 +577,7 @@ impl<'a> Parser<'a> {
577
577
match inner_op. kind {
578
578
ExprKind :: Binary ( op, _, _) if op. node . is_comparison ( ) => {
579
579
// Respan to include both operators.
580
- let op_span = op. span . to ( self . prev_span ) ;
580
+ let op_span = op. span . to ( self . prev_token . span ) ;
581
581
let mut err =
582
582
self . struct_span_err ( op_span, "comparison operators cannot be chained" ) ;
583
583
@@ -632,7 +632,7 @@ impl<'a> Parser<'a> {
632
632
// FIXME: actually check that the two expressions in the binop are
633
633
// paths and resynthesize new fn call expression instead of using
634
634
// `ExprKind::Err` placeholder.
635
- mk_err_expr ( self , inner_op. span . to ( self . prev_span ) )
635
+ mk_err_expr ( self , inner_op. span . to ( self . prev_token . span ) )
636
636
}
637
637
Err ( mut expr_err) => {
638
638
expr_err. cancel ( ) ;
@@ -654,7 +654,7 @@ impl<'a> Parser<'a> {
654
654
// FIXME: actually check that the two expressions in the binop are
655
655
// paths and resynthesize new fn call expression instead of using
656
656
// `ExprKind::Err` placeholder.
657
- mk_err_expr ( self , inner_op. span . to ( self . prev_span ) )
657
+ mk_err_expr ( self , inner_op. span . to ( self . prev_token . span ) )
658
658
}
659
659
}
660
660
} else {
@@ -723,7 +723,7 @@ impl<'a> Parser<'a> {
723
723
724
724
self . bump ( ) ; // `+`
725
725
let bounds = self . parse_generic_bounds ( None ) ?;
726
- let sum_span = ty. span . to ( self . prev_span ) ;
726
+ let sum_span = ty. span . to ( self . prev_token . span ) ;
727
727
728
728
let mut err = struct_span_err ! (
729
729
self . sess. span_diagnostic,
@@ -790,7 +790,7 @@ impl<'a> Parser<'a> {
790
790
791
791
let mut path = ast:: Path { segments : Vec :: new ( ) , span : DUMMY_SP } ;
792
792
self . parse_path_segments ( & mut path. segments , T :: PATH_STYLE ) ?;
793
- path. span = ty_span. to ( self . prev_span ) ;
793
+ path. span = ty_span. to ( self . prev_token . span ) ;
794
794
795
795
let ty_str = self . span_to_snippet ( ty_span) . unwrap_or_else ( |_| pprust:: ty_to_string ( & ty) ) ;
796
796
self . struct_span_err ( path. span , "missing angle brackets in associated item path" )
@@ -809,9 +809,9 @@ impl<'a> Parser<'a> {
809
809
810
810
pub ( super ) fn maybe_consume_incorrect_semicolon ( & mut self , items : & [ P < Item > ] ) -> bool {
811
811
if self . eat ( & token:: Semi ) {
812
- let mut err = self . struct_span_err ( self . prev_span , "expected item, found `;`" ) ;
812
+ let mut err = self . struct_span_err ( self . prev_token . span , "expected item, found `;`" ) ;
813
813
err. span_suggestion_short (
814
- self . prev_span ,
814
+ self . prev_token . span ,
815
815
"remove this semicolon" ,
816
816
String :: new ( ) ,
817
817
Applicability :: MachineApplicable ,
@@ -854,10 +854,10 @@ impl<'a> Parser<'a> {
854
854
}
855
855
// We don't want to point at the following span after DUMMY_SP.
856
856
// This happens when the parser finds an empty TokenStream.
857
- _ if self . prev_span == DUMMY_SP => ( self . token . span , self . token . span ) ,
857
+ _ if self . prev_token . span == DUMMY_SP => ( self . token . span , self . token . span ) ,
858
858
// EOF, don't want to point at the following char, but rather the last token.
859
- ( token:: Eof , None ) => ( self . prev_span , self . token . span ) ,
860
- _ => ( self . prev_span . shrink_to_hi ( ) , self . token . span ) ,
859
+ ( token:: Eof , None ) => ( self . prev_token . span , self . token . span ) ,
860
+ _ => ( self . prev_token . span . shrink_to_hi ( ) , self . token . span ) ,
861
861
} ;
862
862
let msg = format ! (
863
863
"expected `{}`, found {}" ,
@@ -894,10 +894,10 @@ impl<'a> Parser<'a> {
894
894
let sm = self . sess . source_map ( ) ;
895
895
let msg = format ! ( "expected `;`, found `{}`" , super :: token_descr( & self . token) ) ;
896
896
let appl = Applicability :: MachineApplicable ;
897
- if self . token . span == DUMMY_SP || self . prev_span == DUMMY_SP {
897
+ if self . token . span == DUMMY_SP || self . prev_token . span == DUMMY_SP {
898
898
// Likely inside a macro, can't provide meaninful suggestions.
899
899
return self . expect ( & token:: Semi ) . map ( drop) ;
900
- } else if !sm. is_multiline ( self . prev_span . until ( self . token . span ) ) {
900
+ } else if !sm. is_multiline ( self . prev_token . span . until ( self . token . span ) ) {
901
901
// The current token is in the same line as the prior token, not recoverable.
902
902
} else if self . look_ahead ( 1 , |t| {
903
903
t == & token:: CloseDelim ( token:: Brace ) || t. can_begin_expr ( ) && t. kind != token:: Colon
@@ -910,7 +910,7 @@ impl<'a> Parser<'a> {
910
910
// let x = 32:
911
911
// let y = 42;
912
912
self . bump ( ) ;
913
- let sp = self . prev_span ;
913
+ let sp = self . prev_token . span ;
914
914
self . struct_span_err ( sp, & msg)
915
915
. span_suggestion ( sp, "change this to `;`" , ";" . to_string ( ) , appl)
916
916
. emit ( ) ;
@@ -927,7 +927,7 @@ impl<'a> Parser<'a> {
927
927
//
928
928
// let x = 32
929
929
// let y = 42;
930
- let sp = self . prev_span . shrink_to_hi ( ) ;
930
+ let sp = self . prev_token . span . shrink_to_hi ( ) ;
931
931
self . struct_span_err ( sp, & msg)
932
932
. span_label ( self . token . span , "unexpected token" )
933
933
. span_suggestion_short ( sp, "add `;` here" , ";" . to_string ( ) , appl)
@@ -961,7 +961,7 @@ impl<'a> Parser<'a> {
961
961
self . expect ( & token:: OpenDelim ( token:: Paren ) ) ?;
962
962
let expr = self . parse_expr ( ) ?;
963
963
self . expect ( & token:: CloseDelim ( token:: Paren ) ) ?;
964
- Ok ( ( self . prev_span , expr, false ) )
964
+ Ok ( ( self . prev_token . span , expr, false ) )
965
965
}
966
966
967
967
fn recover_await_prefix ( & mut self , await_sp : Span ) -> PResult < ' a , ( Span , P < Expr > , bool ) > {
@@ -1036,10 +1036,10 @@ impl<'a> Parser<'a> {
1036
1036
. span_to_snippet ( pat. span . trim_start ( begin_par_sp) . unwrap ( ) )
1037
1037
. unwrap_or_else ( |_| pprust:: pat_to_string ( & pat) ) ;
1038
1038
1039
- self . struct_span_err ( self . prev_span , "unexpected closing `)`" )
1039
+ self . struct_span_err ( self . prev_token . span , "unexpected closing `)`" )
1040
1040
. span_label ( begin_par_sp, "opening `(`" )
1041
1041
. span_suggestion (
1042
- begin_par_sp. to ( self . prev_span ) ,
1042
+ begin_par_sp. to ( self . prev_token . span ) ,
1043
1043
"remove parenthesis in `for` loop" ,
1044
1044
format ! ( "{} in {}" , pat_str, pprust:: expr_to_string( & expr) ) ,
1045
1045
// With e.g. `for (x) in y)` this would replace `(x) in y)`
@@ -1091,7 +1091,7 @@ impl<'a> Parser<'a> {
1091
1091
err. emit ( ) ;
1092
1092
// Recover from parse error, callers expect the closing delim to be consumed.
1093
1093
self . consume_block ( delim, ConsumeClosingDelim :: Yes ) ;
1094
- self . mk_expr ( lo. to ( self . prev_span ) , ExprKind :: Err , AttrVec :: new ( ) )
1094
+ self . mk_expr ( lo. to ( self . prev_token . span ) , ExprKind :: Err , AttrVec :: new ( ) )
1095
1095
}
1096
1096
}
1097
1097
}
@@ -1138,7 +1138,7 @@ impl<'a> Parser<'a> {
1138
1138
err. span_label ( sp, "unclosed delimiter" ) ;
1139
1139
}
1140
1140
err. span_suggestion_short (
1141
- self . prev_span . shrink_to_hi ( ) ,
1141
+ self . prev_token . span . shrink_to_hi ( ) ,
1142
1142
& format ! ( "{} may belong here" , delim. to_string( ) ) ,
1143
1143
delim. to_string ( ) ,
1144
1144
Applicability :: MaybeIncorrect ,
@@ -1246,9 +1246,9 @@ impl<'a> Parser<'a> {
1246
1246
pub ( super ) fn check_for_for_in_in_typo ( & mut self , in_span : Span ) {
1247
1247
if self . eat_keyword ( kw:: In ) {
1248
1248
// a common typo: `for _ in in bar {}`
1249
- self . struct_span_err ( self . prev_span , "expected iterable, found keyword `in`" )
1249
+ self . struct_span_err ( self . prev_token . span , "expected iterable, found keyword `in`" )
1250
1250
. span_suggestion_short (
1251
- in_span. until ( self . prev_span ) ,
1251
+ in_span. until ( self . prev_token . span ) ,
1252
1252
"remove the duplicated `in`" ,
1253
1253
String :: new ( ) ,
1254
1254
Applicability :: MachineApplicable ,
0 commit comments