about summary refs log tree commit diff
path: root/clippy_utils
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2023-08-23 00:58:09 +0000
committerEsteban Küber <esteban@kuber.com.ar>2023-08-23 00:58:09 +0000
commit32eecd4b884dd2901aad05d66d78ea643a896e25 (patch)
tree035b384c60111babe5e19782b61649fd6fb8b74b /clippy_utils
parent50f7f8e0f84cd646b7272103cd70f4a337bd589a (diff)
Fix clippy lint for identical `if`/`else` contraining `?` expressions
Follow up to #114819.
Diffstat (limited to 'clippy_utils')
-rw-r--r--clippy_utils/src/hir_utils.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/clippy_utils/src/hir_utils.rs b/clippy_utils/src/hir_utils.rs
index fdc35cd4ddf..98441e83eb4 100644
--- a/clippy_utils/src/hir_utils.rs
+++ b/clippy_utils/src/hir_utils.rs
@@ -10,6 +10,7 @@ use rustc_hir::{
     GenericArgs, Guard, HirId, HirIdMap, InlineAsmOperand, Let, Lifetime, LifetimeName, Pat, PatField, PatKind, Path,
     PathSegment, PrimTy, QPath, Stmt, StmtKind, Ty, TyKind, TypeBinding,
 };
+use rustc_hir::MatchSource::TryDesugar;
 use rustc_lexer::{tokenize, TokenKind};
 use rustc_lint::LateContext;
 use rustc_middle::ty::TypeckResults;
@@ -311,7 +312,7 @@ impl HirEqInterExpr<'_, '_, '_> {
                 lls == rls && self.eq_block(lb, rb) && both(ll, rl, |l, r| l.ident.name == r.ident.name)
             },
             (&ExprKind::Match(le, la, ref ls), &ExprKind::Match(re, ra, ref rs)) => {
-                ls == rs
+                (ls == rs || (matches!((ls, rs), (TryDesugar(_), TryDesugar(_)))))
                     && self.eq_expr(le, re)
                     && over(la, ra, |l, r| {
                         self.eq_pat(l.pat, r.pat)