From eb3f90b301144434c197e09bd190fa8d234ef24d Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Fri, 2 Jul 2021 21:10:38 +0200 Subject: [PATCH] Don't check sad pattern equality by text --- crates/ide_assists/src/handlers/replace_if_let_with_match.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/ide_assists/src/handlers/replace_if_let_with_match.rs b/crates/ide_assists/src/handlers/replace_if_let_with_match.rs index b1c5f44213..9ce3ea694b 100644 --- a/crates/ide_assists/src/handlers/replace_if_let_with_match.rs +++ b/crates/ide_assists/src/handlers/replace_if_let_with_match.rs @@ -265,10 +265,11 @@ fn binds_name(pat: &ast::Pat) -> bool { _ => false, } } + fn is_sad_pat(sema: &hir::Semantics, pat: &ast::Pat) -> bool { sema.type_of_pat(pat) .and_then(|ty| TryEnum::from_ty(sema, &ty)) - .map_or(false, |it| it.sad_pattern().syntax().text() == pat.syntax().text()) + .map_or(false, |it| does_pat_match_variant(pat, &it.sad_pattern())) } #[cfg(test)]