diff options
| author | Takayuki Maeda <takoyaki0316@gmail.com> | 2022-08-04 11:51:25 +0900 |
|---|---|---|
| committer | Takayuki Maeda <takoyaki0316@gmail.com> | 2022-08-04 11:51:25 +0900 |
| commit | dcd70c0995a6773ba3f78c072a899c62329f6a41 (patch) | |
| tree | 889683de8ea81ddfe5978cfb378c6e56ed4da6ef /compiler/rustc_builtin_macros/src | |
| parent | a0a2ec332621d35b92633dc4db0451e0c3cb4ab2 (diff) | |
| download | rust-dcd70c0995a6773ba3f78c072a899c62329f6a41.tar.gz rust-dcd70c0995a6773ba3f78c072a899c62329f6a41.zip | |
return when captured argument is not a struct field
Diffstat (limited to 'compiler/rustc_builtin_macros/src')
| -rw-r--r-- | compiler/rustc_builtin_macros/src/format.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/compiler/rustc_builtin_macros/src/format.rs b/compiler/rustc_builtin_macros/src/format.rs index 1fdc312603d..515dedb23c2 100644 --- a/compiler/rustc_builtin_macros/src/format.rs +++ b/compiler/rustc_builtin_macros/src/format.rs @@ -1279,19 +1279,20 @@ pub fn expand_preparsed_format_args( let captured_arg_span = fmt_span.from_inner(InnerSpan::new(err.span.start, err.span.end)); let positional_args = args.iter().filter(|arg| !arg.named).collect::<Vec<_>>(); - let mut suggestions = vec![(captured_arg_span, positional_args.len().to_string())]; if let Ok(arg) = ecx.source_map().span_to_snippet(captured_arg_span) { let span = match positional_args.last() { Some(arg) => arg.expr.span, None => fmt_sp, }; - suggestions.push((span.shrink_to_hi(), format!(", {}", arg))) + e.multipart_suggestion_verbose( + "consider using a positional formatting argument instead", + vec![ + (captured_arg_span, positional_args.len().to_string()), + (span.shrink_to_hi(), format!(", {}", arg)), + ], + Applicability::MachineApplicable, + ); } - e.multipart_suggestion_verbose( - "consider using a positional formatting argument instead", - suggestions, - Applicability::MachineApplicable, - ); } e.emit(); return DummyResult::raw_expr(sp, true); |
