@@ -56,6 +56,7 @@ impl_internable!(
56
56
InternedTypeInner ,
57
57
InternedWrapper <chalk_ir:: LifetimeData <Interner >>,
58
58
InternedWrapper <chalk_ir:: ConstData <Interner >>,
59
+ InternedWrapper <Vec <chalk_ir:: CanonicalVarKind <Interner >>>,
59
60
) ;
60
61
61
62
impl chalk_ir:: interner:: Interner for Interner {
@@ -71,7 +72,7 @@ impl chalk_ir::interner::Interner for Interner {
71
72
type InternedProgramClauses = Arc < [ chalk_ir:: ProgramClause < Self > ] > ;
72
73
type InternedQuantifiedWhereClauses = Vec < chalk_ir:: QuantifiedWhereClause < Self > > ;
73
74
type InternedVariableKinds = Interned < InternedVariableKindsInner > ;
74
- type InternedCanonicalVarKinds = Vec < chalk_ir:: CanonicalVarKind < Self > > ;
75
+ type InternedCanonicalVarKinds = Interned < InternedWrapper < Vec < chalk_ir:: CanonicalVarKind < Self > > > > ;
75
76
type InternedConstraints = Vec < chalk_ir:: InEnvironment < chalk_ir:: Constraint < Self > > > ;
76
77
type InternedVariances = Arc < [ chalk_ir:: Variance ] > ;
77
78
type DefId = InternId ;
@@ -370,7 +371,7 @@ impl chalk_ir::interner::Interner for Interner {
370
371
& self ,
371
372
data : impl IntoIterator < Item = Result < chalk_ir:: CanonicalVarKind < Self > , E > > ,
372
373
) -> Result < Self :: InternedCanonicalVarKinds , E > {
373
- data. into_iter ( ) . collect ( )
374
+ Ok ( Interned :: new ( InternedWrapper ( data. into_iter ( ) . collect :: < Result < _ , _ > > ( ) ? ) ) )
374
375
}
375
376
376
377
fn canonical_var_kinds_data < ' a > (
0 commit comments