aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/infer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/hir_ty/src/infer.rs')
-rw-r--r--crates/hir_ty/src/infer.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/crates/hir_ty/src/infer.rs b/crates/hir_ty/src/infer.rs
index acde99b04..9d9bf549c 100644
--- a/crates/hir_ty/src/infer.rs
+++ b/crates/hir_ty/src/infer.rs
@@ -42,7 +42,7 @@ use super::{
42}; 42};
43use crate::{ 43use crate::{
44 db::HirDatabase, infer::diagnostics::InferenceDiagnostic, lower::ImplTraitLoweringMode, 44 db::HirDatabase, infer::diagnostics::InferenceDiagnostic, lower::ImplTraitLoweringMode,
45 AliasTy, Interner, TyKind, 45 to_assoc_type_id, AliasTy, Interner, TyKind,
46}; 46};
47 47
48pub(crate) use unify::unify; 48pub(crate) use unify::unify;
@@ -382,7 +382,10 @@ impl<'a> InferenceContext<'a> {
382 let trait_ref = TraitRef { trait_, substs: substs.clone() }; 382 let trait_ref = TraitRef { trait_, substs: substs.clone() };
383 let projection = ProjectionPredicate { 383 let projection = ProjectionPredicate {
384 ty: ty.clone(), 384 ty: ty.clone(),
385 projection_ty: ProjectionTy { associated_ty: res_assoc_ty, parameters: substs }, 385 projection_ty: ProjectionTy {
386 associated_ty: to_assoc_type_id(res_assoc_ty),
387 parameters: substs,
388 },
386 }; 389 };
387 self.obligations.push(Obligation::Trait(trait_ref)); 390 self.obligations.push(Obligation::Trait(trait_ref));
388 self.obligations.push(Obligation::Projection(projection)); 391 self.obligations.push(Obligation::Projection(projection));