]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #73905 - matthewjasper:projection-bounds-2, r=nikomatsakis
authorbors <bors@rust-lang.org>
Tue, 6 Oct 2020 12:26:54 +0000 (12:26 +0000)
committerbors <bors@rust-lang.org>
Tue, 6 Oct 2020 12:26:54 +0000 (12:26 +0000)
Separate projection bounds and predicates

Follow up to #72788.

- Rename `projection_predicates` to `item_bounds`
- Separate bounds on associated types (the things after the `:` in `type X: ...`) and opaque types (the things after `impl`)  from predicates.
- Projection candidates now have the correct nested obligations
- Trait object candidates now check that the associated types on the trait object satisfy their bounds as nested obligations
- Type alias impl trait types are now checked (#73035)
- `feature(generic_associated_types)` no longer changes how we handle bounds (#73816)

Opening for a perf and crater runs.

r? `@nikomatsakis`


Trivial merge