Skip to content

Commit 5568dcb

Browse files
committed
gamer
1 parent ca851b7 commit 5568dcb

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/borrow_check/region_inference/closure_constraints.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ While borrow-checking a closure inside of `RegionInferenceContext::solve` we sep
1717

1818
If `RegionInferenceContext::check_universal_regions` fails to prove some outlives constraint `'longer_fr: 'shorter_fr`, we try to propagate it in `fn try_propagate_universal_region_error`. Both these universal regions are either local to the closure or an external region.
1919

20-
In case `'longer_fr` is a local universal region, we search for the largest external region `'fr_minus` which is outlived by `'longer_fr`, i.e. `'longer_fr: 'fr_minus`. There may be multiple such regions, we pick the `mutual_immediate_postdominator` in this case; the fixpoint of repeatedly computing the GLB of all GLBs, see [TransitiveRelation::postdom_upper_bound](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_data_structures/transitive_relation/struct.TransitiveRelation.html#method.postdom_upper_bound) for more details.
20+
In case `'longer_fr` is a local universal region, we search for the largest external region `'fr_minus` which is outlived by `'longer_fr`, i.e. `'longer_fr: 'fr_minus`. In case there are multiple such regions, we pick the `mutual_immediate_postdominator`: the fixpoint of repeatedly computing the GLB of all GLBs, see [TransitiveRelation::postdom_upper_bound](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_data_structures/transitive_relation/struct.TransitiveRelation.html#method.postdom_upper_bound) for more details.
2121

2222
If `'fr_minus` exists we require it to outlive all non-local upper bounds of `'shorter_fr`. There will always be at least one non-local upper bound `'static`.
2323

0 commit comments

Comments
 (0)