diff options
| -rw-r--r-- | compiler/rustc_lint/src/context.rs | 9 | ||||
| -rw-r--r-- | src/test/ui/parser/lifetime_starts_expressions.stderr | 8 |
2 files changed, 11 insertions, 6 deletions
diff --git a/compiler/rustc_lint/src/context.rs b/compiler/rustc_lint/src/context.rs index a20ceacdd3a..4a646013ff8 100644 --- a/compiler/rustc_lint/src/context.rs +++ b/compiler/rustc_lint/src/context.rs @@ -751,9 +751,12 @@ pub trait LintContext: Sized { } } BuiltinLintDiagnostics::BreakWithLabelAndLoop(span) => { - if let Ok(code) = sess.source_map().span_to_snippet(span) { - db.span_suggestion(span, "wrap this expression in parentheses", format!("({})", &code), Applicability::MachineApplicable); - } + db.multipart_suggestion( + "wrap this expression in parentheses", + vec![(span.shrink_to_lo(), "(".to_string()), + (span.shrink_to_hi(), ")".to_string())], + Applicability::MachineApplicable + ); } } // Rewrap `db`, and pass control to the user. diff --git a/src/test/ui/parser/lifetime_starts_expressions.stderr b/src/test/ui/parser/lifetime_starts_expressions.stderr index 3af2c6b9e57..6f3320e283c 100644 --- a/src/test/ui/parser/lifetime_starts_expressions.stderr +++ b/src/test/ui/parser/lifetime_starts_expressions.stderr @@ -35,11 +35,13 @@ warning: this labeled break expression is easy to confuse with an unlabeled brea LL | / break 'label LL | | LL | | loop { break 42; }; - | |_____________-----------------^ - | | - | help: wrap this expression in parentheses: `(loop { break 42; })` + | |______________________________^ | = note: `#[warn(break_with_label_and_loop)]` on by default +help: wrap this expression in parentheses + | +LL | (loop { break 42; }); + | ^ ^ error: aborting due to 2 previous errors; 1 warning emitted |
