Skip to main content

exprs_equal

Function exprs_equal 

Source
fn exprs_equal<'hir>(a: &Expr<'hir>, b: &Expr<'hir>) -> bool
Expand description

Structural equality for the side-effect-free expressions a self-comparison can involve: identifiers, member access, indexing (by an equal index), binary operations, elementary-type casts, payable(...), the pure unary operators (-, !, ~), and the ternary c ? a : b. Anything else (notably arbitrary calls, which may return different values or have side effects, and the ++/-- unary ops, which mutate) is treated as unequal, so the lint never fires on a comparison whose two sides could legitimately differ.