@@ -59,6 +59,7 @@ impl_internable!(
59
59
InternedWrapper <Vec <chalk_ir:: CanonicalVarKind <Interner >>>,
60
60
InternedWrapper <Vec <chalk_ir:: ProgramClause <Interner >>>,
61
61
InternedWrapper <Vec <chalk_ir:: QuantifiedWhereClause <Interner >>>,
62
+ InternedWrapper <Vec <chalk_ir:: Variance >>,
62
63
) ;
63
64
64
65
impl chalk_ir:: interner:: Interner for Interner {
@@ -76,7 +77,7 @@ impl chalk_ir::interner::Interner for Interner {
76
77
type InternedVariableKinds = Interned < InternedVariableKindsInner > ;
77
78
type InternedCanonicalVarKinds = Interned < InternedWrapper < Vec < chalk_ir:: CanonicalVarKind < Self > > > > ;
78
79
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 > > > ;
80
81
type DefId = InternId ;
81
82
type InternedAdtId = hir_def:: AdtId ;
82
83
type Identifier = TypeAliasId ;
@@ -413,7 +414,7 @@ impl chalk_ir::interner::Interner for Interner {
413
414
& self ,
414
415
data : impl IntoIterator < Item = Result < chalk_ir:: Variance , E > > ,
415
416
) -> Result < Self :: InternedVariances , E > {
416
- data. into_iter ( ) . collect ( )
417
+ Ok ( Interned :: new ( InternedWrapper ( data. into_iter ( ) . collect :: < Result < _ , _ > > ( ) ? ) ) )
417
418
}
418
419
419
420
fn variances_data < ' a > (
0 commit comments