55The MIR-based region checking code is located in [ the ` rustc_mir::borrow_check `
66module] [ nll ] .
77
8- [ nll ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /index.html
8+ [ nll ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /index.html
99
1010The MIR-based region analysis consists of two major functions:
1111
@@ -38,10 +38,10 @@ The MIR-based region analysis consists of two major functions:
3838
3939[ cp ] : ./region_inference/constraint_propagation.md
4040[ fvb ] : ../appendix/background.md#free-vs-bound
41- [ `replace_regions_in_mir` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /nll/fn.replace_regions_in_mir.html
42- [ `compute_regions` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /nll/fn.compute_regions.html
43- [ `RegionInferenceContext` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /region_infer/struct.RegionInferenceContext.html
44- [ `solve` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /region_infer/struct.RegionInferenceContext.html#method.solve
41+ [ `replace_regions_in_mir` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /nll/fn.replace_regions_in_mir.html
42+ [ `compute_regions` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /nll/fn.compute_regions.html
43+ [ `RegionInferenceContext` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /region_infer/struct.RegionInferenceContext.html
44+ [ `solve` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /region_infer/struct.RegionInferenceContext.html#method.solve
4545[ NLL RFC ] : https://rust-lang.github.io/rfcs/2094-nll.html
4646[ MIR type checker ] : ./type_check.md
4747
@@ -68,7 +68,7 @@ the moment.
6868
6969TODO: write about _ how_ these regions are computed.
7070
71- [ `UniversalRegions` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /universal_regions/struct.UniversalRegions.html
71+ [ `UniversalRegions` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /universal_regions/struct.UniversalRegions.html
7272
7373<a name =" region-variables " ></a >
7474
@@ -115,7 +115,7 @@ common sorts of constraints are:
1151152 . Liveness constraints. Each region needs to be live at points where it can be
116116 used. These constraints are collected by [ ` generate_constraints ` ] .
117117
118- [ `generate_constraints` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /constraint_generation/fn.generate_constraints.html
118+ [ `generate_constraints` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /constraint_generation/fn.generate_constraints.html
119119
120120## Inference Overview
121121
@@ -219,13 +219,13 @@ Here are some of the fields of the struct:
219219- [ ` closure_bounds_mapping ` ] : used for propagating region constraints from
220220 closures back out to the creator of the closure.
221221
222- [ `constraints` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /region_infer/struct.RegionInferenceContext.html#structfield.constraints
223- [ `liveness_constraints` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /region_infer/struct.RegionInferenceContext.html#structfield.liveness_constraints
222+ [ `constraints` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /region_infer/struct.RegionInferenceContext.html#structfield.constraints
223+ [ `liveness_constraints` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /region_infer/struct.RegionInferenceContext.html#structfield.liveness_constraints
224224[ `location` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Location.html
225- [ `universal_regions` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /region_infer/struct.RegionInferenceContext.html#structfield.universal_regions
226- [ `universal_region_relations` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /region_infer/struct.RegionInferenceContext.html#structfield.universal_region_relations
227- [ `type_tests` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /region_infer/struct.RegionInferenceContext.html#structfield.type_tests
228- [ `closure_bounds_mapping` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /region_infer/struct.RegionInferenceContext.html#structfield.closure_bounds_mapping
225+ [ `universal_regions` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /region_infer/struct.RegionInferenceContext.html#structfield.universal_regions
226+ [ `universal_region_relations` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /region_infer/struct.RegionInferenceContext.html#structfield.universal_region_relations
227+ [ `type_tests` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /region_infer/struct.RegionInferenceContext.html#structfield.type_tests
228+ [ `closure_bounds_mapping` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /region_infer/struct.RegionInferenceContext.html#structfield.closure_bounds_mapping
229229
230230TODO: should we discuss any of the others fields? What about the SCCs?
231231
@@ -234,6 +234,6 @@ inference. This is done by calling the [`solve`] method on the context. This
234234is where we call [ ` propagate_constraints ` ] and then check the resulting type
235235tests and universal regions, as discussed above.
236236
237- [ `propagate_constraints` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /region_infer/struct.RegionInferenceContext.html#method.propagate_constraints
238- [ `check_type_tests` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /region_infer/struct.RegionInferenceContext.html#method.check_type_tests
239- [ `check_universal_regions` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check /region_infer/struct.RegionInferenceContext.html#method.check_universal_regions
237+ [ `propagate_constraints` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /region_infer/struct.RegionInferenceContext.html#method.propagate_constraints
238+ [ `check_type_tests` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /region_infer/struct.RegionInferenceContext.html#method.check_type_tests
239+ [ `check_universal_regions` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_borrowck /region_infer/struct.RegionInferenceContext.html#method.check_universal_regions
0 commit comments