@@ -546,11 +546,11 @@ impl<'tcx> chalk_solve::RustIrDatabase<RustInterner<'tcx>> for RustIrDatabase<'t
546
546
Fn => lang_items. fn_trait ( ) ,
547
547
FnMut => lang_items. fn_mut_trait ( ) ,
548
548
FnOnce => lang_items. fn_once_trait ( ) ,
549
+ Generator => lang_items. gen_trait ( ) ,
549
550
Unsize => lang_items. unsize_trait ( ) ,
550
551
Unpin => lang_items. unpin_trait ( ) ,
551
552
CoerceUnsized => lang_items. coerce_unsized_trait ( ) ,
552
553
DiscriminantKind => lang_items. discriminant_kind_trait ( ) ,
553
- Generator => lang_items. generator_return ( ) ,
554
554
} ;
555
555
def_id. map ( chalk_ir:: TraitId )
556
556
}
@@ -674,28 +674,18 @@ impl<'tcx> chalk_ir::UnificationDatabase<RustInterner<'tcx>> for RustIrDatabase<
674
674
let variances = self . interner . tcx . variances_of ( def_id. 0 ) ;
675
675
chalk_ir:: Variances :: from_iter (
676
676
self . interner ,
677
- variances. iter ( ) . map ( |v| match v {
678
- ty:: Variance :: Invariant => chalk_ir:: Variance :: Invariant ,
679
- ty:: Variance :: Covariant => chalk_ir:: Variance :: Covariant ,
680
- ty:: Variance :: Contravariant => chalk_ir:: Variance :: Contravariant ,
681
- ty:: Variance :: Bivariant => unimplemented ! ( ) ,
682
- } ) ,
677
+ variances. iter ( ) . map ( |v| v. lower_into ( self . interner ) ) ,
683
678
)
684
679
}
685
680
686
681
fn adt_variance (
687
682
& self ,
688
- def_id : chalk_ir:: AdtId < RustInterner < ' tcx > > ,
683
+ adt_id : chalk_ir:: AdtId < RustInterner < ' tcx > > ,
689
684
) -> chalk_ir:: Variances < RustInterner < ' tcx > > {
690
- let variances = self . interner . tcx . variances_of ( def_id . 0 . did ) ;
685
+ let variances = self . interner . tcx . variances_of ( adt_id . 0 . did ) ;
691
686
chalk_ir:: Variances :: from_iter (
692
687
self . interner ,
693
- variances. iter ( ) . map ( |v| match v {
694
- ty:: Variance :: Invariant => chalk_ir:: Variance :: Invariant ,
695
- ty:: Variance :: Covariant => chalk_ir:: Variance :: Covariant ,
696
- ty:: Variance :: Contravariant => chalk_ir:: Variance :: Contravariant ,
697
- ty:: Variance :: Bivariant => unimplemented ! ( ) ,
698
- } ) ,
688
+ variances. iter ( ) . map ( |v| v. lower_into ( self . interner ) ) ,
699
689
)
700
690
}
701
691
}
0 commit comments