Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/infer/autoderef.rs')
| -rw-r--r-- | crates/hir-ty/src/infer/autoderef.rs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/crates/hir-ty/src/infer/autoderef.rs b/crates/hir-ty/src/infer/autoderef.rs index 77b1ae6a94..ba133aa553 100644 --- a/crates/hir-ty/src/infer/autoderef.rs +++ b/crates/hir-ty/src/infer/autoderef.rs @@ -2,6 +2,8 @@ use std::iter; +use rustc_ast_ir::Mutability; + use crate::{ Adjust, Adjustment, OverloadedDeref, autoderef::{Autoderef, AutoderefKind}, @@ -9,7 +11,6 @@ use crate::{ next_solver::{ Ty, infer::{InferOk, traits::PredicateObligations}, - mapping::NextSolverToChalk, }, }; @@ -21,12 +22,12 @@ impl<'db> InferenceTable<'db> { impl<'db> Autoderef<'_, 'db> { /// Returns the adjustment steps. - pub(crate) fn adjust_steps(mut self) -> Vec<Adjustment> { + pub(crate) fn adjust_steps(mut self) -> Vec<Adjustment<'db>> { let infer_ok = self.adjust_steps_as_infer_ok(); self.table.register_infer_ok(infer_ok) } - pub(crate) fn adjust_steps_as_infer_ok(&mut self) -> InferOk<'db, Vec<Adjustment>> { + pub(crate) fn adjust_steps_as_infer_ok(&mut self) -> InferOk<'db, Vec<Adjustment<'db>>> { let steps = self.steps(); if steps.is_empty() { return InferOk { obligations: PredicateObligations::new(), value: vec![] }; @@ -37,16 +38,13 @@ impl<'db> Autoderef<'_, 'db> { .iter() .map(|&(_source, kind)| { if let AutoderefKind::Overloaded = kind { - Some(OverloadedDeref(Some(chalk_ir::Mutability::Not))) + Some(OverloadedDeref(Some(Mutability::Not))) } else { None } }) .zip(targets) - .map(|(autoderef, target)| Adjustment { - kind: Adjust::Deref(autoderef), - target: target.to_chalk(self.table.interner), - }) + .map(|(autoderef, target)| Adjustment { kind: Adjust::Deref(autoderef), target }) .collect(); InferOk { obligations: self.take_obligations(), value: steps } |