10399: minor: don't drop binders when doing autoderef r=lnicola a=iDawer

This fixes #10396 panic introduced in #10373

Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com>
This commit is contained in:
bors[bot] 2021-09-30 15:17:12 +00:00 committed by GitHub
commit 73562aa168
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2504,8 +2504,7 @@ impl Type {
pub fn autoderef<'a>(&'a self, db: &'a dyn HirDatabase) -> impl Iterator<Item = Type> + 'a {
// There should be no inference vars in types passed here
let ty = hir_ty::replace_errors_with_variables(&self.ty).value;
let canonical = Canonical { value: ty, binders: CanonicalVarKinds::empty(&Interner) };
let canonical = hir_ty::replace_errors_with_variables(&self.ty);
let environment = self.env.env.clone();
let ty = InEnvironment { goal: canonical, environment };
autoderef(db, Some(self.krate), ty)