about summary refs log tree commit diff
path: root/compiler/rustc_builtin_macros/src
diff options
context:
space:
mode:
authorTakayuki Maeda <takoyaki0316@gmail.com>2022-08-04 11:51:25 +0900
committerTakayuki Maeda <takoyaki0316@gmail.com>2022-08-04 11:51:25 +0900
commitdcd70c0995a6773ba3f78c072a899c62329f6a41 (patch)
tree889683de8ea81ddfe5978cfb378c6e56ed4da6ef /compiler/rustc_builtin_macros/src
parenta0a2ec332621d35b92633dc4db0451e0c3cb4ab2 (diff)
downloadrust-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.rs15
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);