]> git.lizzy.rs Git - rust.git/commit
Auto merge of #45298 - toidiu:ak-44493-infer-predicate, r=nikomatsakis
authorbors <bors@rust-lang.org>
Thu, 12 Apr 2018 23:07:07 +0000 (23:07 +0000)
committerbors <bors@rust-lang.org>
Thu, 12 Apr 2018 23:07:07 +0000 (23:07 +0000)
commitc4a03283cd17c86c9bcdc3fdc76d924ab5eaff2a
tree23c1bb1f332df4d34679d76fedacd15541c5556d
parent6c537493d01694cc6e0a614dff12c475055aa2b4
parent6a229cbfac2c6ae8e1db4f8ae6320cac731a2c2a
Auto merge of #45298 - toidiu:ak-44493-infer-predicate, r=nikomatsakis

Ak 44493 infer predicate

 **WIP**  Implements #44493

Things to do:

- [x] add feature gate and appropriate tests (see [forge](https://forge.rust-lang.org/feature-guide.html) for some details)
- [x] add a unit testing system similar to `#[rustc_variance]`
  - [x] to see how, maybe `rg rustc_variance` and take some notes
- [ ] add more tests:
- [x] we need to decide how to handle `struct Foo<'a, T> { x: &'a T::Item }`
- [x] handle explicit predicates on types
- [ ] handle explicit predicates on `dyn Trait` (this could be put off to a follow-up PR)
- [ ] handle explicit predicates on projections (this could be put off to a follow-up PR)
src/librustc/dep_graph/dep_node.rs
src/librustc/ty/maps/config.rs
src/librustc/ty/maps/mod.rs
src/librustc/ty/maps/plumbing.rs
src/librustc_typeck/lib.rs