Rollup merge of #117870 - lcnr:rename-args_ref, r=compiler-errors

`fn args_ref_X` to `fn args_X`
This commit is contained in:
Matthias Krüger 2023-11-13 21:28:55 +01:00 committed by GitHub
commit a87ad4e2a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 8 additions and 10 deletions

View File

@ -189,14 +189,14 @@ pub struct DeepRejectCtxt {
} }
impl DeepRejectCtxt { impl DeepRejectCtxt {
pub fn args_refs_may_unify<'tcx>( pub fn args_may_unify<'tcx>(
self, self,
obligation_args: GenericArgsRef<'tcx>, obligation_args: GenericArgsRef<'tcx>,
impl_args: GenericArgsRef<'tcx>, impl_args: GenericArgsRef<'tcx>,
) -> bool { ) -> bool {
iter::zip(obligation_args, impl_args).all(|(obl, imp)| { iter::zip(obligation_args, impl_args).all(|(obl, imp)| {
match (obl.unpack(), imp.unpack()) { match (obl.unpack(), imp.unpack()) {
// We don't fast reject based on regions for now. // We don't fast reject based on regions.
(GenericArgKind::Lifetime(_), GenericArgKind::Lifetime(_)) => true, (GenericArgKind::Lifetime(_), GenericArgKind::Lifetime(_)) => true,
(GenericArgKind::Type(obl), GenericArgKind::Type(imp)) => { (GenericArgKind::Type(obl), GenericArgKind::Type(imp)) => {
self.types_may_unify(obl, imp) self.types_may_unify(obl, imp)
@ -231,7 +231,7 @@ impl DeepRejectCtxt {
| ty::Never | ty::Never
| ty::Tuple(..) | ty::Tuple(..)
| ty::FnPtr(..) | ty::FnPtr(..)
| ty::Foreign(..) => {} | ty::Foreign(..) => debug_assert!(impl_ty.is_known_rigid()),
ty::FnDef(..) ty::FnDef(..)
| ty::Closure(..) | ty::Closure(..)
| ty::Coroutine(..) | ty::Coroutine(..)
@ -260,7 +260,7 @@ impl DeepRejectCtxt {
}, },
ty::Adt(obl_def, obl_args) => match k { ty::Adt(obl_def, obl_args) => match k {
&ty::Adt(impl_def, impl_args) => { &ty::Adt(impl_def, impl_args) => {
obl_def == impl_def && self.args_refs_may_unify(obl_args, impl_args) obl_def == impl_def && self.args_may_unify(obl_args, impl_args)
} }
_ => false, _ => false,
}, },

View File

@ -160,7 +160,7 @@ impl<'tcx> assembly::GoalKind<'tcx> for ProjectionPredicate<'tcx> {
let goal_trait_ref = goal.predicate.projection_ty.trait_ref(tcx); let goal_trait_ref = goal.predicate.projection_ty.trait_ref(tcx);
let impl_trait_ref = tcx.impl_trait_ref(impl_def_id).unwrap(); let impl_trait_ref = tcx.impl_trait_ref(impl_def_id).unwrap();
let drcx = DeepRejectCtxt { treat_obligation_params: TreatParams::ForLookup }; let drcx = DeepRejectCtxt { treat_obligation_params: TreatParams::ForLookup };
if !drcx.args_refs_may_unify(goal_trait_ref.args, impl_trait_ref.skip_binder().args) { if !drcx.args_may_unify(goal_trait_ref.args, impl_trait_ref.skip_binder().args) {
return Err(NoSolution); return Err(NoSolution);
} }

View File

@ -43,9 +43,7 @@ impl<'tcx> assembly::GoalKind<'tcx> for TraitPredicate<'tcx> {
let impl_trait_ref = tcx.impl_trait_ref(impl_def_id).unwrap(); let impl_trait_ref = tcx.impl_trait_ref(impl_def_id).unwrap();
let drcx = DeepRejectCtxt { treat_obligation_params: TreatParams::ForLookup }; let drcx = DeepRejectCtxt { treat_obligation_params: TreatParams::ForLookup };
if !drcx if !drcx.args_may_unify(goal.predicate.trait_ref.args, impl_trait_ref.skip_binder().args) {
.args_refs_may_unify(goal.predicate.trait_ref.args, impl_trait_ref.skip_binder().args)
{
return Err(NoSolution); return Err(NoSolution);
} }

View File

@ -100,7 +100,7 @@ pub fn overlapping_impls(
let impl1_ref = tcx.impl_trait_ref(impl1_def_id); let impl1_ref = tcx.impl_trait_ref(impl1_def_id);
let impl2_ref = tcx.impl_trait_ref(impl2_def_id); let impl2_ref = tcx.impl_trait_ref(impl2_def_id);
let may_overlap = match (impl1_ref, impl2_ref) { let may_overlap = match (impl1_ref, impl2_ref) {
(Some(a), Some(b)) => drcx.args_refs_may_unify(a.skip_binder().args, b.skip_binder().args), (Some(a), Some(b)) => drcx.args_may_unify(a.skip_binder().args, b.skip_binder().args),
(None, None) => { (None, None) => {
let self_ty1 = tcx.type_of(impl1_def_id).skip_binder(); let self_ty1 = tcx.type_of(impl1_def_id).skip_binder();
let self_ty2 = tcx.type_of(impl2_def_id).skip_binder(); let self_ty2 = tcx.type_of(impl2_def_id).skip_binder();

View File

@ -375,7 +375,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
// consider a "quick reject". This avoids creating more types // consider a "quick reject". This avoids creating more types
// and so forth that we need to. // and so forth that we need to.
let impl_trait_ref = self.tcx().impl_trait_ref(impl_def_id).unwrap(); let impl_trait_ref = self.tcx().impl_trait_ref(impl_def_id).unwrap();
if !drcx.args_refs_may_unify(obligation_args, impl_trait_ref.skip_binder().args) { if !drcx.args_may_unify(obligation_args, impl_trait_ref.skip_binder().args) {
return; return;
} }
if self.reject_fn_ptr_impls( if self.reject_fn_ptr_impls(