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, ""); let rhs = snippet(cx, rhs.span, ""); span_lint( cx, SELF_ASSIGNMENT, e.span, &format!("self-assignment of `{rhs}` to `{lhs}`"), ); } }