about summary refs log tree commit diff
path: root/compiler/rustc_parse
diff options
context:
space:
mode:
authorNoah Lev <camelidcamel@gmail.com>2022-02-18 15:32:46 -0800
committerNoah Lev <camelidcamel@gmail.com>2022-03-23 22:31:57 -0700
commitef74796178edd2cf28f17109083cbd235808f88d (patch)
tree0aae1e1fd4cc19f6e1bc6e779611a89e620d81de /compiler/rustc_parse
parent95960b7d54ecd05b03734cadea071cd5cc29fa35 (diff)
downloadrust-ef74796178edd2cf28f17109083cbd235808f88d.tar.gz
rust-ef74796178edd2cf28f17109083cbd235808f88d.zip
Change temporary variable name if it would conflict
Diffstat (limited to 'compiler/rustc_parse')
-rw-r--r--compiler/rustc_parse/src/parser/diagnostics.rs11
1 files changed, 4 insertions, 7 deletions
diff --git a/compiler/rustc_parse/src/parser/diagnostics.rs b/compiler/rustc_parse/src/parser/diagnostics.rs
index 162982ebbe2..9590f26a76f 100644
--- a/compiler/rustc_parse/src/parser/diagnostics.rs
+++ b/compiler/rustc_parse/src/parser/diagnostics.rs
@@ -1337,15 +1337,12 @@ impl<'a> Parser<'a> {
         kind: IncDecRecovery,
         (pre_span, post_span): (Span, Span),
     ) {
-        let mut msg = format!("use `{}= 1` instead", kind.op.chr());
-        if base_src.trim() == "tmp" {
-            msg.push_str(" (rename `tmp` so it doesn't conflict with your variable)");
-        }
+        let tmp_var = if base_src.trim() == "tmp" { "tmp_" } else { "tmp" };
         err.multipart_suggestion(
-            &msg,
+            &format!("use `{}= 1` instead", kind.op.chr()),
             vec![
-                (pre_span, "{ let tmp = ".to_string()),
-                (post_span, format!("; {} {}= 1; tmp }}", base_src, kind.op.chr())),
+                (pre_span, format!("{{ let {} = ", tmp_var)),
+                (post_span, format!("; {} {}= 1; {} }}", base_src, kind.op.chr(), tmp_var)),
             ],
             Applicability::HasPlaceholders,
         );