rust/compiler/rustc_trait_selection/src
Matthias Krüger b45a819bef
Rollup merge of #92006 - oli-obk:welcome_opaque_types_into_the_fold, r=nikomatsakis
Welcome opaque types into the fold

r? ```@nikomatsakis``` because idk who else to bug on the type_op changes

The commits have explanations in them. The TLDR is that

* 5c46002273 stops the "recurse and replace" scheme that replaces opaque types with their canonical inference var by just doing that ahead of time
* bdeeb07bf6 does not affect anything on master afaict, but since opaque types generate obligations when instantiated, and lazy TAIT instantiates opaque types *everywhere*, we need to properly handle obligations here instead of just hoping no problematic obligations ever come up.
2022-01-13 08:11:19 +01:00
..
traits Rollup merge of #92006 - oli-obk:welcome_opaque_types_into_the_fold, r=nikomatsakis 2022-01-13 08:11:19 +01:00
autoderef.rs Revert "Auto merge of #91491 - spastorino:revert-91354, r=oli-obk" 2021-12-12 12:34:46 +08:00
infer.rs Revert "Auto merge of #91491 - spastorino:revert-91354, r=oli-obk" 2021-12-12 12:34:46 +08:00
lib.rs Re-introduce concept of projection cache 'completion' 2021-12-18 19:07:14 -05:00
opaque_types.rs Remove in_band_lifetimes from rustc_trait_selection 2021-12-15 21:52:30 +00:00