6f3912850a
Fix if_same_then_else false positive This fixes false positive in #3559. The problem was that `SpanlessEq` does not check patterns in declarations. So this two blocks considered equal. ```rust if true { let (x, y) = foo(); } else { let (y, x) = foo(); } ``` Not sure if the proposed change is safe as `SpanlessEq` is used extensively in other lints, but I tried hard to come up with counterexample and failed.