]> git.lizzy.rs Git - rust.git/commit
Auto merge of #54649 - nikomatsakis:universes-refactor-1, r=scalexm
authorbors <bors@rust-lang.org>
Thu, 4 Oct 2018 20:28:57 +0000 (20:28 +0000)
committerbors <bors@rust-lang.org>
Thu, 4 Oct 2018 20:28:57 +0000 (20:28 +0000)
commit8c4ad4e9e42f4bcbdbb784692b936c2462061abc
treeeb1826efe59cbdbcb0f3cf757c8a51bbc4b8b4c0
parenta57f1c9c955177e2a7563dd59f9e3a70458e2be1
parent85b99561c62ec9ff9ccd884ed3ac8206d0d1c381
Auto merge of #54649 - nikomatsakis:universes-refactor-1, r=scalexm

adopt "placeholders" to represent universally quantified regions

This does a few preliminary refactorings that lay some groundwork for moving towards universe integration. Two things, primarily:

- Rename from "skolemized" to "placeholder"
- When instantiating `for<'a, 'b, 'c>`, just create one universe for all 3 regions, and distinguish them from one another using the `BoundRegion`.
    - This is more accurate, and I think that in general we'll be moving towards a model of separating "binder" (universe, debruijn index) from "index within binder" in a number of places.
    - In principle, it feels the current setup of making lots of universes could lead to us doing the wrong thing, but I've actually not been able to come up with an example where this is so.

r? @scalexm
cc @arielb1
src/librustc_mir/borrow_check/error_reporting.rs