@@ -59,6 +59,7 @@ impl_internable!(
5959 InternedWrapper <Vec <chalk_ir:: CanonicalVarKind <Interner >>>,
6060 InternedWrapper <Vec <chalk_ir:: ProgramClause <Interner >>>,
6161 InternedWrapper <Vec <chalk_ir:: QuantifiedWhereClause <Interner >>>,
62+ InternedWrapper <Vec <chalk_ir:: Variance >>,
6263) ;
6364
6465impl chalk_ir:: interner:: Interner for Interner {
@@ -76,7 +77,7 @@ impl chalk_ir::interner::Interner for Interner {
7677 type InternedVariableKinds = Interned < InternedVariableKindsInner > ;
7778 type InternedCanonicalVarKinds = Interned < InternedWrapper < Vec < chalk_ir:: CanonicalVarKind < Self > > > > ;
7879 type InternedConstraints = Vec < chalk_ir:: InEnvironment < chalk_ir:: Constraint < Self > > > ;
79- type InternedVariances = Arc < [ chalk_ir:: Variance ] > ;
80+ type InternedVariances = Interned < InternedWrapper < Vec < chalk_ir:: Variance > > > ;
8081 type DefId = InternId ;
8182 type InternedAdtId = hir_def:: AdtId ;
8283 type Identifier = TypeAliasId ;
@@ -413,7 +414,7 @@ impl chalk_ir::interner::Interner for Interner {
413414 & self ,
414415 data : impl IntoIterator < Item = Result < chalk_ir:: Variance , E > > ,
415416 ) -> Result < Self :: InternedVariances , E > {
416- data. into_iter ( ) . collect ( )
417+ Ok ( Interned :: new ( InternedWrapper ( data. into_iter ( ) . collect :: < Result < _ , _ > > ( ) ? ) ) )
417418 }
418419
419420 fn variances_data < ' a > (
0 commit comments