Auto merge of #5788 - Leulz:shadow-unrelated-fix-rhs, r=flip1995

Removing RHS snippet from SHADOW_UNRELATED message.

Fixes #5703

I am not sure if I reinvented the wheel here, but I could not really find a snippet function that did this truncation, so I created the function. Please tell me if there was a more obvious way to do this, I am new here. 😄

changelog: Truncates multi-line RHS in shadow_unrelated message if it has more than 5 lines.
This commit is contained in:
bors 2020-07-15 19:09:21 +00:00
commit 9349441863
2 changed files with 2 additions and 6 deletions

View File

@ -295,11 +295,7 @@ fn lint_shadow<'tcx>(
cx, cx,
SHADOW_UNRELATED, SHADOW_UNRELATED,
pattern_span, pattern_span,
&format!( &format!("`{}` is being shadowed", snippet(cx, pattern_span, "_")),
"`{}` is shadowed by `{}`",
snippet(cx, pattern_span, "_"),
snippet(cx, expr.span, "..")
),
|diag| { |diag| {
diag.span_note(expr.span, "initialization happens here"); diag.span_note(expr.span, "initialization happens here");
diag.span_note(prev_span, "previous binding is here"); diag.span_note(prev_span, "previous binding is here");

View File

@ -104,7 +104,7 @@ note: previous binding is here
LL | let x = (1, x); LL | let x = (1, x);
| ^ | ^
error: `x` is shadowed by `y` error: `x` is being shadowed
--> $DIR/shadow.rs:34:9 --> $DIR/shadow.rs:34:9
| |
LL | let x = y; LL | let x = y;