Check regions earlier when comparing impl with trait item def
This commit is contained in:
parent
05ccc49a44
commit
dfbdce01e1
3 changed files with 32 additions and 22 deletions
|
@ -1723,6 +1723,7 @@ pub(super) fn compare_impl_const_raw(
|
|||
|
||||
compare_number_of_generics(tcx, impl_const_item, trait_const_item, false)?;
|
||||
compare_generic_param_kinds(tcx, impl_const_item, trait_const_item, false)?;
|
||||
check_region_bounds_on_impl_item(tcx, impl_const_item, trait_const_item, false)?;
|
||||
compare_const_predicate_entailment(tcx, impl_const_item, trait_const_item, impl_trait_ref)
|
||||
}
|
||||
|
||||
|
@ -1763,8 +1764,6 @@ fn compare_const_predicate_entailment<'tcx>(
|
|||
let impl_ct_predicates = tcx.predicates_of(impl_ct.def_id);
|
||||
let trait_ct_predicates = tcx.predicates_of(trait_ct.def_id);
|
||||
|
||||
check_region_bounds_on_impl_item(tcx, impl_ct, trait_ct, false)?;
|
||||
|
||||
// The predicates declared by the impl definition, the trait and the
|
||||
// associated const in the trait are assumed.
|
||||
let impl_predicates = tcx.predicates_of(impl_ct_predicates.parent.unwrap());
|
||||
|
@ -1866,6 +1865,7 @@ pub(super) fn compare_impl_ty<'tcx>(
|
|||
let _: Result<(), ErrorGuaranteed> = try {
|
||||
compare_number_of_generics(tcx, impl_ty, trait_ty, false)?;
|
||||
compare_generic_param_kinds(tcx, impl_ty, trait_ty, false)?;
|
||||
check_region_bounds_on_impl_item(tcx, impl_ty, trait_ty, false)?;
|
||||
compare_type_predicate_entailment(tcx, impl_ty, trait_ty, impl_trait_ref)?;
|
||||
check_type_bounds(tcx, trait_ty, impl_ty, impl_trait_ref)?;
|
||||
};
|
||||
|
@ -1886,8 +1886,6 @@ fn compare_type_predicate_entailment<'tcx>(
|
|||
let impl_ty_predicates = tcx.predicates_of(impl_ty.def_id);
|
||||
let trait_ty_predicates = tcx.predicates_of(trait_ty.def_id);
|
||||
|
||||
check_region_bounds_on_impl_item(tcx, impl_ty, trait_ty, false)?;
|
||||
|
||||
let impl_ty_own_bounds = impl_ty_predicates.instantiate_own(tcx, impl_args);
|
||||
if impl_ty_own_bounds.len() == 0 {
|
||||
// Nothing to check.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue