Make things work by using the new solver
This commit is contained in:
@@ -37,6 +37,8 @@ pub(super) trait GoalKind<'tcx>:
|
||||
|
||||
fn trait_ref(self, tcx: TyCtxt<'tcx>) -> ty::TraitRef<'tcx>;
|
||||
|
||||
fn polarity(self) -> ty::ImplPolarity;
|
||||
|
||||
fn with_self_ty(self, tcx: TyCtxt<'tcx>, self_ty: Ty<'tcx>) -> Self;
|
||||
|
||||
fn trait_def_id(self, tcx: TyCtxt<'tcx>) -> DefId;
|
||||
|
||||
@@ -101,6 +101,10 @@ impl<'tcx> assembly::GoalKind<'tcx> for ProjectionPredicate<'tcx> {
|
||||
self.projection_ty.trait_ref(tcx)
|
||||
}
|
||||
|
||||
fn polarity(self) -> ty::ImplPolarity {
|
||||
ty::ImplPolarity::Positive
|
||||
}
|
||||
|
||||
fn with_self_ty(self, tcx: TyCtxt<'tcx>, self_ty: Ty<'tcx>) -> Self {
|
||||
self.with_self_ty(tcx, self_ty)
|
||||
}
|
||||
|
||||
@@ -22,6 +22,10 @@ impl<'tcx> assembly::GoalKind<'tcx> for TraitPredicate<'tcx> {
|
||||
self.trait_ref
|
||||
}
|
||||
|
||||
fn polarity(self) -> ty::ImplPolarity {
|
||||
self.polarity
|
||||
}
|
||||
|
||||
fn with_self_ty(self, tcx: TyCtxt<'tcx>, self_ty: Ty<'tcx>) -> Self {
|
||||
self.with_self_ty(tcx, self_ty)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user