@@ -149,7 +149,7 @@ fn parse_args<'a>(
149
149
return Err ( err) ;
150
150
} else {
151
151
// ...after that delegate to `expect` to also include the other expected tokens.
152
- return Err ( p. expect ( & token:: Comma ) . err ( ) . unwrap ( ) ) ;
152
+ let _ = p. expect ( & token:: Comma ) ? ;
153
153
}
154
154
}
155
155
first = false ;
@@ -359,24 +359,18 @@ impl<'a, 'b> Context<'a, 'b> {
359
359
// for `println!("{7:7$}", 1);`
360
360
refs. sort ( ) ;
361
361
refs. dedup ( ) ;
362
- let ( arg_list, mut sp) = if refs. len ( ) == 1 {
363
- let spans: Vec < _ > = spans. into_iter ( ) . filter_map ( |sp| sp. copied ( ) ) . collect ( ) ;
364
- (
365
- format ! ( "argument {}" , refs[ 0 ] ) ,
366
- if spans. is_empty ( ) {
367
- MultiSpan :: from_span ( self . fmtsp )
368
- } else {
369
- MultiSpan :: from_spans ( spans)
370
- } ,
371
- )
362
+ let spans: Vec < _ > = spans. into_iter ( ) . filter_map ( |sp| sp. copied ( ) ) . collect ( ) ;
363
+ let sp = if self . arg_spans . is_empty ( ) || spans. is_empty ( ) {
364
+ MultiSpan :: from_span ( self . fmtsp )
365
+ } else {
366
+ MultiSpan :: from_spans ( spans)
367
+ } ;
368
+ let arg_list = if refs. len ( ) == 1 {
369
+ format ! ( "argument {}" , refs[ 0 ] )
372
370
} else {
373
- let pos = MultiSpan :: from_spans ( spans. into_iter ( ) . map ( |s| * s. unwrap ( ) ) . collect ( ) ) ;
374
371
let reg = refs. pop ( ) . unwrap ( ) ;
375
- ( format ! ( "arguments {head} and {tail}" , head = refs. join( ", " ) , tail = reg, ) , pos )
372
+ format ! ( "arguments {head} and {tail}" , head = refs. join( ", " ) , tail = reg)
376
373
} ;
377
- if self . arg_spans . is_empty ( ) {
378
- sp = MultiSpan :: from_span ( self . fmtsp ) ;
379
- }
380
374
381
375
e = self . ecx . struct_span_err (
382
376
sp,
@@ -1067,10 +1061,9 @@ pub fn expand_preparsed_format_args(
1067
1061
let args_unused = errs_len;
1068
1062
1069
1063
let mut diag = {
1070
- if errs_len == 1 {
1071
- let ( sp, msg) = errs. into_iter ( ) . next ( ) . unwrap ( ) ;
1072
- let mut diag = cx. ecx . struct_span_err ( sp, msg) ;
1073
- diag. span_label ( sp, msg) ;
1064
+ if let [ ( sp, msg) ] = & errs[ ..] {
1065
+ let mut diag = cx. ecx . struct_span_err ( * sp, * msg) ;
1066
+ diag. span_label ( * sp, * msg) ;
1074
1067
diag
1075
1068
} else {
1076
1069
let mut diag = cx. ecx . struct_span_err (
0 commit comments