| use clippy_utils::diagnostics::span_lint; | |
| use clippy_utils::eq_expr_value; | |
| use clippy_utils::source::snippet; | |
| use rustc_hir::Expr; | |
| use rustc_lint::LateContext; | |
| use super::SELF_ASSIGNMENT; | |
| pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, e: &'tcx Expr<'_>, lhs: &'tcx Expr<'_>, rhs: &'tcx Expr<'_>) { | |
| if eq_expr_value(cx, lhs, rhs) { | |
| let lhs = snippet(cx, lhs.span, "<lhs>"); | |
| let rhs = snippet(cx, rhs.span, "<rhs>"); | |
| span_lint( | |
| cx, | |
| SELF_ASSIGNMENT, | |
| e.span, | |
| format!("self-assignment of `{rhs}` to `{lhs}`"), | |
| ); | |
| } | |
| } |