]> git.lizzy.rs Git - rust.git/commit
introduce per-fn RegionMaps
authorTaylor Cramer <cramertaylorj@gmail.com>
Mon, 10 Apr 2017 07:00:08 +0000 (00:00 -0700)
committerNiko Matsakis <niko@alum.mit.edu>
Sun, 30 Apr 2017 21:03:30 +0000 (17:03 -0400)
commit73cd9bde373cc134aa2ebb6a8064d532621ca0a6
treec27699bff217136b907b85b1cd76d6eba7089f18
parentc7dc39dbf095f04839b57a1e34afc6ab29d905d3
introduce per-fn RegionMaps

Instead of requesting the region maps for the entire crate, request for
a given item etc. Several bits of code were modified to take
`&RegionMaps` as input (e.g., the `resolve_regions_and_report_errors()`
function). I am not totally happy with this setup -- I *think* I'd
rather have the region maps be part of typeck tables -- but at least the
`RegionMaps` works in a "parallel" way to `FreeRegionMap`, so it's not
too bad. Given that I expect a lot of this code to go away with NLL, I
didn't want to invest *too* much energy tweaking it.
36 files changed:
src/librustc/cfg/construct.rs
src/librustc/dep_graph/dep_node.rs
src/librustc/hir/intravisit.rs
src/librustc/hir/map/mod.rs
src/librustc/infer/mod.rs
src/librustc/infer/region_inference/graphviz.rs
src/librustc/infer/region_inference/mod.rs
src/librustc/middle/expr_use_visitor.rs
src/librustc/middle/free_region.rs
src/librustc/middle/mem_categorization.rs
src/librustc/middle/region.rs
src/librustc/traits/mod.rs
src/librustc/ty/context.rs
src/librustc/ty/maps.rs
src/librustc/ty/mod.rs
src/librustc_borrowck/borrowck/check_loans.rs
src/librustc_borrowck/borrowck/gather_loans/lifetime.rs
src/librustc_borrowck/borrowck/gather_loans/mod.rs
src/librustc_borrowck/borrowck/mod.rs
src/librustc_borrowck/borrowck/move_data.rs
src/librustc_const_eval/check_match.rs
src/librustc_driver/driver.rs
src/librustc_driver/test.rs
src/librustc_mir/build/matches/mod.rs
src/librustc_mir/build/mod.rs
src/librustc_mir/hair/cx/block.rs
src/librustc_mir/hair/cx/expr.rs
src/librustc_mir/hair/cx/mod.rs
src/librustc_passes/consts.rs
src/librustc_typeck/check/compare_method.rs
src/librustc_typeck/check/dropck.rs
src/librustc_typeck/check/mod.rs
src/librustc_typeck/check/regionck.rs
src/librustc_typeck/check/upvar.rs
src/librustc_typeck/coherence/builtin.rs
src/test/run-pass/kindck-implicit-close-over-mut-var.rs