about summary refs log tree commit diff
path: root/src/test/run-pass/thinlto
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-05-13 17:56:09 +0000
committerbors <bors@rust-lang.org>2017-05-13 17:56:09 +0000
commit826d8f3850b37a23481dfcf4a899b5dfc82d22e3 (patch)
treea560fcb5a4b63710295641b6d187087560d22104 /src/test/run-pass/thinlto
parent77f1bec6f5eb9ed632c973b97b12701294e6d3a5 (diff)
parent6da4123f5f819608fce49258bfa4f74fe195806b (diff)
downloadrust-826d8f3850b37a23481dfcf4a899b5dfc82d22e3.tar.gz
rust-826d8f3850b37a23481dfcf4a899b5dfc82d22e3.zip
Auto merge of #41914 - eddyb:region-refactor, r=nikomatsakis
rustc: simpler ParameterEnvironment and free regions.

The commits describe the slow transformation but the highlights are:
* `ReEarlyBound` is considered free, with a scope based on the item that defined the lifetime parameter, and the root body of the `RegionMaps` in use, removing the need for `free_substs`
* `liberate_late_bound_regions` and `implicit_region_bound` moved to typeck
* `CodeExtent` not interned at all now - ideally it would be 2 `u32` but it's small anyway

Future work building up on this could include:
* `ParameterEnvironment` becoming just the result of `predicates_of`
  * interning makes my "parent chain" scheme unnecessary
* `implicit_region_bound` could be retrieved from `RegionMaps`
* renaming `CodeExtent` to `Scope`
  * generalizing "call site" to "use site" or something better to include constants
* renaming `RegionMaps` to `ScopeTree` and its API to talk about "parents" explicitly
Diffstat (limited to 'src/test/run-pass/thinlto')
0 files changed, 0 insertions, 0 deletions