diff options
Diffstat (limited to 'crates/ra_hir_ty/src/infer/unify.rs')
-rw-r--r-- | crates/ra_hir_ty/src/infer/unify.rs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/crates/ra_hir_ty/src/infer/unify.rs b/crates/ra_hir_ty/src/infer/unify.rs index 1dc842f40..9c7996572 100644 --- a/crates/ra_hir_ty/src/infer/unify.rs +++ b/crates/ra_hir_ty/src/infer/unify.rs | |||
@@ -140,13 +140,12 @@ where | |||
140 | impl<T> Canonicalized<T> { | 140 | impl<T> Canonicalized<T> { |
141 | pub fn decanonicalize_ty(&self, mut ty: Ty) -> Ty { | 141 | pub fn decanonicalize_ty(&self, mut ty: Ty) -> Ty { |
142 | ty.walk_mut_binders( | 142 | ty.walk_mut_binders( |
143 | &mut |ty, binders| match ty { | 143 | &mut |ty, binders| { |
144 | &mut Ty::Bound(idx) => { | 144 | if let &mut Ty::Bound(idx) = ty { |
145 | if idx as usize >= binders && (idx as usize - binders) < self.free_vars.len() { | 145 | if idx as usize >= binders && (idx as usize - binders) < self.free_vars.len() { |
146 | *ty = Ty::Infer(self.free_vars[idx as usize - binders]); | 146 | *ty = Ty::Infer(self.free_vars[idx as usize - binders]); |
147 | } | 147 | } |
148 | } | 148 | } |
149 | _ => {} | ||
150 | }, | 149 | }, |
151 | 0, | 150 | 0, |
152 | ); | 151 | ); |