1
+ use std:: ops:: Range ;
2
+
1
3
use parse:: Position :: ArgumentNamed ;
2
4
use rustc_ast:: ptr:: P ;
3
5
use rustc_ast:: tokenstream:: TokenStream ;
@@ -334,7 +336,7 @@ fn make_format_args(
334
336
return ExpandResult :: Ready ( Err ( guar) ) ;
335
337
}
336
338
337
- let to_span = |inner_span : parse :: InnerSpan | {
339
+ let to_span = |inner_span : Range < usize > | {
338
340
is_source_literal. then ( || {
339
341
fmt_span. from_inner ( InnerSpan { start : inner_span. start , end : inner_span. end } )
340
342
} )
@@ -406,7 +408,7 @@ fn make_format_args(
406
408
let mut placeholder_index = 0 ;
407
409
408
410
for piece in & pieces {
409
- match * piece {
411
+ match piece. clone ( ) {
410
412
parse:: Piece :: Lit ( s) => {
411
413
unfinished_literal. push_str ( s) ;
412
414
}
@@ -416,7 +418,8 @@ fn make_format_args(
416
418
unfinished_literal. clear ( ) ;
417
419
}
418
420
419
- let span = parser. arg_places . get ( placeholder_index) . and_then ( |& s| to_span ( s) ) ;
421
+ let span =
422
+ parser. arg_places . get ( placeholder_index) . and_then ( |s| to_span ( s. clone ( ) ) ) ;
420
423
placeholder_index += 1 ;
421
424
422
425
let position_span = to_span ( position_span) ;
@@ -608,7 +611,7 @@ fn make_format_args(
608
611
fn invalid_placeholder_type_error (
609
612
ecx : & ExtCtxt < ' _ > ,
610
613
ty : & str ,
611
- ty_span : Option < parse :: InnerSpan > ,
614
+ ty_span : Option < Range < usize > > ,
612
615
fmt_span : Span ,
613
616
) {
614
617
let sp = ty_span. map ( |sp| fmt_span. from_inner ( InnerSpan :: new ( sp. start , sp. end ) ) ) ;
@@ -774,8 +777,12 @@ fn report_redundant_format_arguments<'a>(
774
777
let mut fmt_spans = vec ! [ ] ;
775
778
776
779
for ( i, unnamed_arg) in args. unnamed_args ( ) . iter ( ) . enumerate ( ) . rev ( ) {
777
- let Some ( ty) = unnamed_arg. expr . to_ty ( ) else { continue } ;
778
- let Some ( argument_binding) = ty. kind . is_simple_path ( ) else { continue } ;
780
+ let Some ( ty) = unnamed_arg. expr . to_ty ( ) else {
781
+ continue ;
782
+ } ;
783
+ let Some ( argument_binding) = ty. kind . is_simple_path ( ) else {
784
+ continue ;
785
+ } ;
779
786
let argument_binding = argument_binding. as_str ( ) ;
780
787
781
788
if used[ i] {
0 commit comments