![]() 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 |
||
---|---|---|
.. | ||
codegen | ||
codegen-units | ||
compile-fail | ||
compile-fail-fulldeps | ||
debuginfo | ||
incremental | ||
mir-opt | ||
parse-fail | ||
pretty | ||
run-fail | ||
run-fail-fulldeps | ||
run-make | ||
run-pass | ||
run-pass-fulldeps | ||
run-pass-valgrind | ||
rustdoc | ||
ui | ||
ui-fulldeps/custom-derive | ||
COMPILER_TESTS.md |