diff --git a/crates/hir_ty/src/traits/chalk/interner.rs b/crates/hir_ty/src/traits/chalk/interner.rs index 11fa2622d6..ea42be9322 100644 --- a/crates/hir_ty/src/traits/chalk/interner.rs +++ b/crates/hir_ty/src/traits/chalk/interner.rs @@ -58,6 +58,7 @@ impl_internable!( InternedWrapper>, InternedWrapper>>, InternedWrapper>>, + InternedWrapper>>, ); impl chalk_ir::interner::Interner for Interner { @@ -71,7 +72,7 @@ impl chalk_ir::interner::Interner for Interner { type InternedSubstitution = Interned; type InternedProgramClause = Arc>; type InternedProgramClauses = Interned>>>; - type InternedQuantifiedWhereClauses = Vec>; + type InternedQuantifiedWhereClauses = Interned>>>; type InternedVariableKinds = Interned; type InternedCanonicalVarKinds = Interned>>>; type InternedConstraints = Vec>>; @@ -342,7 +343,7 @@ impl chalk_ir::interner::Interner for Interner { &self, data: impl IntoIterator, E>>, ) -> Result { - data.into_iter().collect() + Ok(Interned::new(InternedWrapper(data.into_iter().collect::>()?))) } fn quantified_where_clauses_data<'a>(