Stop passing the self-type as a separate argument.
This commit is contained in:
parent
a4da3f8863
commit
7658e0fccf
38 changed files with 113 additions and 164 deletions
|
@ -62,7 +62,7 @@ impl<'tcx> Bounds<'tcx> {
|
|||
let sized_predicate = self.implicitly_sized.and_then(|span| {
|
||||
// FIXME: use tcx.at(span).mk_trait_ref(LangItem::Sized) here? This may make no-core code harder to write.
|
||||
let sized = tcx.lang_items().sized_trait()?;
|
||||
let trait_ref = ty::Binder::dummy(tcx.mk_trait_ref(sized, param_ty, []));
|
||||
let trait_ref = ty::Binder::dummy(tcx.mk_trait_ref(sized, [param_ty]));
|
||||
Some((trait_ref.without_const().to_predicate(tcx), span))
|
||||
});
|
||||
|
||||
|
|
|
@ -1782,7 +1782,7 @@ fn receiver_is_implemented<'tcx>(
|
|||
receiver_ty: Ty<'tcx>,
|
||||
) -> bool {
|
||||
let tcx = wfcx.tcx();
|
||||
let trait_ref = ty::Binder::dummy(tcx.mk_trait_ref(receiver_trait_def_id, receiver_ty, []));
|
||||
let trait_ref = ty::Binder::dummy(tcx.mk_trait_ref(receiver_trait_def_id, [receiver_ty]));
|
||||
|
||||
let obligation = traits::Obligation::new(tcx, cause, wfcx.param_env, trait_ref.without_const());
|
||||
|
||||
|
|
|
@ -315,8 +315,7 @@ fn visit_implementation_of_dispatch_from_dyn<'tcx>(tcx: TyCtxt<'tcx>, impl_did:
|
|||
cause.clone(),
|
||||
dispatch_from_dyn_trait,
|
||||
0,
|
||||
field.ty(tcx, substs_a),
|
||||
[field.ty(tcx, substs_b).into()],
|
||||
[field.ty(tcx, substs_a), field.ty(tcx, substs_b)],
|
||||
)
|
||||
}),
|
||||
);
|
||||
|
@ -558,7 +557,7 @@ pub fn coerce_unsized_info<'tcx>(tcx: TyCtxt<'tcx>, impl_did: DefId) -> CoerceUn
|
|||
// Register an obligation for `A: Trait<B>`.
|
||||
let cause = traits::ObligationCause::misc(span, impl_hir_id);
|
||||
let predicate =
|
||||
predicate_for_trait_def(tcx, param_env, cause, trait_def_id, 0, source, [target.into()]);
|
||||
predicate_for_trait_def(tcx, param_env, cause, trait_def_id, 0, [source, target]);
|
||||
let errors = traits::fully_solve_obligation(&infcx, predicate);
|
||||
if !errors.is_empty() {
|
||||
infcx.err_ctxt().report_fulfillment_errors(&errors, None);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue