diff options
| author | JarredAllen <jarredallen73@gmail.com> | 2020-07-17 10:40:01 -0700 |
|---|---|---|
| committer | JarredAllen <jarredallen73@gmail.com> | 2020-07-17 10:40:01 -0700 |
| commit | e85b590936863e88da4ccd73af9f5da0787b9609 (patch) | |
| tree | e53195f885581b55632614ec9b0ccf65d360d7a4 | |
| parent | 7c5d4a41459abeb40eea734efaf08657602815cb (diff) | |
| download | rust-e85b590936863e88da4ccd73af9f5da0787b9609.tar.gz rust-e85b590936863e88da4ccd73af9f5da0787b9609.zip | |
Fix bug in lint
| -rw-r--r-- | clippy_lints/src/matches.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/clippy_lints/src/matches.rs b/clippy_lints/src/matches.rs index bd474c20807..fe00a48adef 100644 --- a/clippy_lints/src/matches.rs +++ b/clippy_lints/src/matches.rs @@ -1512,6 +1512,10 @@ mod redundant_pattern_match { } } + let result_expr = match &op.kind { + ExprKind::AddrOf(_, _, borrowed) => borrowed, + _ => op, + }; span_lint_and_then( cx, REDUNDANT_PATTERN_MATCHING, @@ -1524,7 +1528,7 @@ mod redundant_pattern_match { // while let ... = ... { ... } // ^^^ - let op_span = op.span.source_callsite(); + let op_span = result_expr.span.source_callsite(); // while let ... = ... { ... } // ^^^^^^^^^^^^^^^^^^^ @@ -1589,17 +1593,21 @@ mod redundant_pattern_match { }; if let Some(good_method) = found_good_method { + let span = expr.span.to(op.span); + let result_expr = match &op.kind { + ExprKind::AddrOf(_, _, borrowed) => borrowed, + _ => op, + }; span_lint_and_then( cx, REDUNDANT_PATTERN_MATCHING, expr.span, &format!("redundant pattern matching, consider using `{}`", good_method), |diag| { - let span = expr.span.to(op.span); diag.span_suggestion( span, "try this", - format!("{}.{}", snippet(cx, op.span, "_"), good_method), + format!("{}.{}", snippet(cx, result_expr.span, "_"), good_method), Applicability::MaybeIncorrect, // snippet ); }, |
