From de6f430140a49e3ecf34dcb914326bb5b9789772 Mon Sep 17 00:00:00 2001 From: Dawer <7803845+iDawer@users.noreply.github.com> Date: Thu, 6 May 2021 13:15:40 +0500 Subject: Fix panics on pattern_arena.borrow with ugly cloning --- crates/hir_ty/src/diagnostics/pattern/usefulness.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'crates/hir_ty/src/diagnostics/pattern/usefulness.rs') diff --git a/crates/hir_ty/src/diagnostics/pattern/usefulness.rs b/crates/hir_ty/src/diagnostics/pattern/usefulness.rs index 28b9e71f8..3bfb7afed 100644 --- a/crates/hir_ty/src/diagnostics/pattern/usefulness.rs +++ b/crates/hir_ty/src/diagnostics/pattern/usefulness.rs @@ -94,12 +94,12 @@ impl PatIdExt for PatId { fn expand_or_pat(self, cx: &MatchCheckCtx<'_>) -> Vec { fn expand(pat: PatId, vec: &mut Vec, mut pat_arena: &mut PatternArena) { if let PatKind::Or { pats } = pat_arena[pat].kind.as_ref() { - // for pat in pats { - // // TODO(iDawer): Ugh, I want to go back to references (PatId -> &Pat) - // let pat = pat_arena.alloc(pat.clone()); - // expand(pat, vec, pat_arena); - // } - todo!() + let pats = pats.clone(); + for pat in pats { + // TODO(iDawer): Ugh, I want to go back to references (PatId -> &Pat) + let pat = pat_arena.alloc(pat.clone()); + expand(pat, vec, pat_arena); + } } else { vec.push(pat) } -- cgit v1.2.3