Skip to content

Commit

Permalink
remove unnecessary eval_verify_bound
Browse files Browse the repository at this point in the history
  • Loading branch information
lcnr committed Dec 4, 2024
1 parent 96e51d9 commit 497fdfd
Showing 1 changed file with 0 additions and 17 deletions.
17 changes: 0 additions & 17 deletions compiler/rustc_borrowck/src/region_infer/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1013,23 +1013,6 @@ impl<'tcx> RegionInferenceContext<'tcx> {
// `ClosureOutlivesRequirement`.
for ur in self.scc_values.universal_regions_outlived_by(r_scc) {
debug!("universal_region_outlived_by ur={:?}", ur);
// Check whether we can already prove that the "subject" outlives `ur`.
// If so, we don't have to propagate this requirement to our caller.
//
// To continue the example from the function, if we are trying to promote
// a requirement that `T: 'X`, and we know that `'X = '1 + '2` (i.e., the union
// `'1` and `'2`), then in this loop `ur` will be `'1` (and `'2`). So here
// we check whether `T: '1` is something we *can* prove. If so, no need
// to propagate that requirement.
//
// This is needed because -- particularly in the case
// where `ur` is a local bound -- we are sometimes in a
// position to prove things that our caller cannot. See
// #53570 for an example.
if self.eval_verify_bound(infcx, generic_ty, ur, &verify_bound) {
continue;
}

let non_local_ub = self.universal_region_relations.non_local_upper_bounds(ur);
debug!(?non_local_ub);

Expand Down

0 comments on commit 497fdfd

Please sign in to comment.