@@ -546,11 +546,11 @@ impl<'tcx> chalk_solve::RustIrDatabase<RustInterner<'tcx>> for RustIrDatabase<'t
546546 Fn => lang_items. fn_trait ( ) ,
547547 FnMut => lang_items. fn_mut_trait ( ) ,
548548 FnOnce => lang_items. fn_once_trait ( ) ,
549+ Generator => lang_items. gen_trait ( ) ,
549550 Unsize => lang_items. unsize_trait ( ) ,
550551 Unpin => lang_items. unpin_trait ( ) ,
551552 CoerceUnsized => lang_items. coerce_unsized_trait ( ) ,
552553 DiscriminantKind => lang_items. discriminant_kind_trait ( ) ,
553- Generator => lang_items. generator_return ( ) ,
554554 } ;
555555 def_id. map ( chalk_ir:: TraitId )
556556 }
@@ -674,28 +674,18 @@ impl<'tcx> chalk_ir::UnificationDatabase<RustInterner<'tcx>> for RustIrDatabase<
674674 let variances = self . interner . tcx . variances_of ( def_id. 0 ) ;
675675 chalk_ir:: Variances :: from_iter (
676676 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 ) ) ,
683678 )
684679 }
685680
686681 fn adt_variance (
687682 & self ,
688- def_id : chalk_ir:: AdtId < RustInterner < ' tcx > > ,
683+ adt_id : chalk_ir:: AdtId < RustInterner < ' tcx > > ,
689684 ) -> 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 ) ;
691686 chalk_ir:: Variances :: from_iter (
692687 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 ) ) ,
699689 )
700690 }
701691}
0 commit comments