Fix rebase

This commit is contained in:
Matthew Jasper 2020-09-06 20:04:52 +01:00
parent 852073a7d2
commit 27534b3932
4 changed files with 16 additions and 10 deletions

View file

@ -916,8 +916,8 @@ fn assemble_candidates_from_object_ty<'cx, 'tcx>(
let self_ty = obligation_trait_ref.self_ty();
let object_ty = selcx.infcx().shallow_resolve(self_ty);
let data = match object_ty.kind {
ty::Dynamic(ref data, ..) => data,
let data = match object_ty.kind() {
ty::Dynamic(data, ..) => data,
ty::Infer(ty::TyVar(_)) => {
// If the self-type is an inference variable, then it MAY wind up
// being an object type, so induce an ambiguity.

View file

@ -126,7 +126,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
let tcx = self.tcx();
let bound_self_ty = self.infcx.shallow_resolve(obligation.self_ty());
let (def_id, substs) = match bound_self_ty.skip_binder().kind {
let (def_id, substs) = match *bound_self_ty.skip_binder().kind() {
ty::Projection(proj) => (proj.item_def_id, proj.substs),
ty::Opaque(def_id, substs) => (def_id, substs),
_ => bug!("projection candidate for unexpected type: {:?}", bound_self_ty),
@ -158,7 +158,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
}),
);
if let ty::Projection(..) = bound_self_ty.skip_binder().kind {
if let ty::Projection(..) = bound_self_ty.skip_binder().kind() {
for predicate in tcx.predicates_of(def_id).instantiate_own(tcx, substs).predicates {
let normalized = normalize_with_depth_to(
self,