diff options
| author | Noah Lev <camelidcamel@gmail.com> | 2022-02-18 15:32:46 -0800 |
|---|---|---|
| committer | Noah Lev <camelidcamel@gmail.com> | 2022-03-23 22:31:57 -0700 |
| commit | ef74796178edd2cf28f17109083cbd235808f88d (patch) | |
| tree | 0aae1e1fd4cc19f6e1bc6e779611a89e620d81de /compiler/rustc_parse | |
| parent | 95960b7d54ecd05b03734cadea071cd5cc29fa35 (diff) | |
| download | rust-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.rs | 11 |
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, ); |
