diff options
| author | Noah Lev <camelidcamel@gmail.com> | 2022-02-17 14:58:46 -0800 |
|---|---|---|
| committer | Noah Lev <camelidcamel@gmail.com> | 2022-03-23 22:31:57 -0700 |
| commit | 073010d425d7b6ff5e79fd41f209e4915daa6066 (patch) | |
| tree | 2f4ed899247b67791a8b39e160b04721ed1a07ed /compiler/rustc_parse/src | |
| parent | 62b8ea67b79de77fca36ca82de4b934307b6de30 (diff) | |
| download | rust-073010d425d7b6ff5e79fd41f209e4915daa6066.tar.gz rust-073010d425d7b6ff5e79fd41f209e4915daa6066.zip | |
Improve handling of `tmp` variable name conflicts
Diffstat (limited to 'compiler/rustc_parse/src')
| -rw-r--r-- | compiler/rustc_parse/src/parser/diagnostics.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/compiler/rustc_parse/src/parser/diagnostics.rs b/compiler/rustc_parse/src/parser/diagnostics.rs index 26ca018685e..dcb150f18aa 100644 --- a/compiler/rustc_parse/src/parser/diagnostics.rs +++ b/compiler/rustc_parse/src/parser/diagnostics.rs @@ -1325,13 +1325,17 @@ 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)"); + } err.multipart_suggestion( - &format!("use `{}= 1` instead", kind.op.chr()), + &msg, vec![ (pre_span, "{ let tmp = ".to_string()), (post_span, format!("; {} {}= 1; tmp }}", base_src, kind.op.chr())), ], - Applicability::MachineApplicable, + Applicability::HasPlaceholders, ); } |
